Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OS
U-Boot.Mirror
提交
4fe629d2
U
U-Boot.Mirror
项目概览
OS
/
U-Boot.Mirror
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
U
U-Boot.Mirror
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
4fe629d2
编写于
5月 27, 2022
作者:
T
Tom Rini
浏览文件
操作
浏览文件
下载
差异文件
Merge
https://source.denx.de/u-boot/custodians/u-boot-riscv
上级
0fdc468b
c544b281
变更
11
隐藏空白更改
内联
并排
Showing
11 changed file
with
23 addition
and
153 deletion
+23
-153
arch/riscv/include/asm/io.h
arch/riscv/include/asm/io.h
+0
-138
board/AndesTech/ax25-ae350/Kconfig
board/AndesTech/ax25-ae350/Kconfig
+1
-0
cmd/riscv/sbi.c
cmd/riscv/sbi.c
+1
-0
configs/ae350_rv32_spl_defconfig
configs/ae350_rv32_spl_defconfig
+1
-0
configs/ae350_rv32_spl_xip_defconfig
configs/ae350_rv32_spl_xip_defconfig
+1
-0
configs/ae350_rv64_spl_defconfig
configs/ae350_rv64_spl_defconfig
+1
-0
configs/ae350_rv64_spl_xip_defconfig
configs/ae350_rv64_spl_xip_defconfig
+1
-0
doc/board/sifive/unleashed.rst
doc/board/sifive/unleashed.rst
+0
-2
include/configs/qemu-riscv.h
include/configs/qemu-riscv.h
+6
-4
include/configs/sifive-unleashed.h
include/configs/sifive-unleashed.h
+6
-4
include/configs/sifive-unmatched.h
include/configs/sifive-unmatched.h
+5
-5
未找到文件。
arch/riscv/include/asm/io.h
浏览文件 @
4fe629d2
...
...
@@ -7,8 +7,6 @@
#ifndef __ASM_RISCV_IO_H
#define __ASM_RISCV_IO_H
#ifdef __KERNEL__
#include <linux/types.h>
#include <asm/barrier.h>
#include <asm/byteorder.h>
...
...
@@ -17,33 +15,6 @@ static inline void sync(void)
{
}
#ifdef CONFIG_ARCH_MAP_SYSMEM
static
inline
void
*
map_sysmem
(
phys_addr_t
paddr
,
unsigned
long
len
)
{
if
(
paddr
<
PHYS_SDRAM_0_SIZE
+
PHYS_SDRAM_1_SIZE
)
paddr
=
paddr
|
0x40000000
;
return
(
void
*
)(
uintptr_t
)
paddr
;
}
static
inline
void
*
unmap_sysmem
(
const
void
*
vaddr
)
{
phys_addr_t
paddr
=
(
phys_addr_t
)
vaddr
;
paddr
=
paddr
&
~
0x40000000
;
return
(
void
*
)(
uintptr_t
)
paddr
;
}
static
inline
phys_addr_t
map_to_sysmem
(
const
void
*
ptr
)
{
return
(
phys_addr_t
)(
uintptr_t
)
ptr
;
}
#endif
/*
* Generic virtual read/write. Note that we don't support half-word
* read/writes. We define __arch_*[bl] here, and leave __arch_*w
* to the architecture specific code.
*/
#define __arch_getb(a) (*(volatile unsigned char *)(a))
#define __arch_getw(a) (*(volatile unsigned short *)(a))
#define __arch_getl(a) (*(volatile unsigned int *)(a))
...
...
@@ -352,115 +323,6 @@ static inline void writesl(unsigned int *addr, const void *data, int longlen)
#define insw_p(port, to, len) insw(port, to, len)
#define insl_p(port, to, len) insl(port, to, len)
/*
* DMA-consistent mapping functions. These allocate/free a region of
* uncached, unwrite-buffered mapped memory space for use with DMA
* devices. This is the "generic" version. The PCI specific version
* is in pci.h
*/
/*
* String version of IO memory access ops:
*/
/*
* If this architecture has PCI memory IO, then define the read/write
* macros. These should only be used with the cookie passed from
* ioremap.
*/
#ifdef __mem_pci
#define readb(c) ({ unsigned int __v = \
__raw_readb(__mem_pci(c)); __v; })
#define readw(c) ({ unsigned int __v = \
le16_to_cpu(__raw_readw(__mem_pci(c))); __v; })
#define readl(c) ({ unsigned int __v = \
le32_to_cpu(__raw_readl(__mem_pci(c))); __v; })
#define writeb(v, c) __raw_writeb(v, __mem_pci(c))
#define writew(v, c) __raw_writew(cpu_to_le16(v), __mem_pci(c))
#define writel(v, c) __raw_writel(cpu_to_le32(v), __mem_pci(c))
#define memset_io(c, v, l) _memset_io(__mem_pci(c), (v), (l))
#define memcpy_fromio(a, c, l) _memcpy_fromio((a), __mem_pci(c), (l))
#define memcpy_toio(c, a, l) _memcpy_toio(__mem_pci(c), (a), (l))
#define eth_io_copy_and_sum(s, c, l, b) \
eth_copy_and_sum((s), __mem_pci(c), (l), (b))
static
inline
int
check_signature
(
ulong
io_addr
,
const
uchar
*
s
,
int
len
)
{
int
retval
=
0
;
do
{
if
(
readb
(
io_addr
)
!=
*
s
)
goto
out
;
io_addr
++
;
s
++
;
len
--
;
}
while
(
len
);
retval
=
1
;
out:
return
retval
;
}
#endif
/* __mem_pci */
/*
* If this architecture has ISA IO, then define the isa_read/isa_write
* macros.
*/
#ifdef __mem_isa
#define isa_readb(addr) __raw_readb(__mem_isa(addr))
#define isa_readw(addr) __raw_readw(__mem_isa(addr))
#define isa_readl(addr) __raw_readl(__mem_isa(addr))
#define isa_writeb(val, addr) __raw_writeb(val, __mem_isa(addr))
#define isa_writew(val, addr) __raw_writew(val, __mem_isa(addr))
#define isa_writel(val, addr) __raw_writel(val, __mem_isa(addr))
#define isa_memset_io(a, b, c) _memset_io(__mem_isa(a), (b), (c))
#define isa_memcpy_fromio(a, b, c) _memcpy_fromio((a), __mem_isa(b), (c))
#define isa_memcpy_toio(a, b, c) _memcpy_toio(__mem_isa((a)), (b), (c))
#define isa_eth_io_copy_and_sum(a, b, c, d) \
eth_copy_and_sum((a), __mem_isa(b), (c), (d))
static
inline
int
isa_check_signature
(
ulong
io_addr
,
const
uchar
*
s
,
int
len
)
{
int
retval
=
0
;
do
{
if
(
isa_readb
(
io_addr
)
!=
*
s
)
goto
out
;
io_addr
++
;
s
++
;
len
--
;
}
while
(
len
);
retval
=
1
;
out:
return
retval
;
}
#else
/* __mem_isa */
#define isa_readb(addr) (__readwrite_bug("isa_readb"), 0)
#define isa_readw(addr) (__readwrite_bug("isa_readw"), 0)
#define isa_readl(addr) (__readwrite_bug("isa_readl"), 0)
#define isa_writeb(val, addr) __readwrite_bug("isa_writeb")
#define isa_writew(val, addr) __readwrite_bug("isa_writew")
#define isa_writel(val, addr) __readwrite_bug("isa_writel")
#define isa_memset_io(a, b, c) __readwrite_bug("isa_memset_io")
#define isa_memcpy_fromio(a, b, c) __readwrite_bug("isa_memcpy_fromio")
#define isa_memcpy_toio(a, b, c) __readwrite_bug("isa_memcpy_toio")
#define isa_eth_io_copy_and_sum(a, b, c, d) \
__readwrite_bug("isa_eth_io_copy_and_sum")
#define isa_check_signature(io, sig, len) (0)
#endif
/* __mem_isa */
#endif
/* __KERNEL__ */
#include <asm-generic/io.h>
#endif
/* __ASM_RISCV_IO_H */
board/AndesTech/ax25-ae350/Kconfig
浏览文件 @
4fe629d2
...
...
@@ -35,5 +35,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
imply SMP
imply SPL_RAM_SUPPORT
imply SPL_RAM_DEVICE
imply OF_HAS_PRIOR_STAGE
endif
cmd/riscv/sbi.c
浏览文件 @
4fe629d2
...
...
@@ -26,6 +26,7 @@ static struct sbi_imp implementations[] = {
{
3
,
"KVM"
},
{
4
,
"RustSBI"
},
{
5
,
"Diosix"
},
{
6
,
"Coffer"
},
};
static
struct
sbi_ext
extensions
[]
=
{
...
...
configs/ae350_rv32_spl_defconfig
浏览文件 @
4fe629d2
...
...
@@ -15,6 +15,7 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x00200000
CONFIG_SYS_MONITOR_BASE=0x88000000
CONFIG_BOOTDELAY=3
CONFIG_BOARD_EARLY_INIT_F=y
# CONFIG_BINMAN_FDT is not set
CONFIG_SYS_PROMPT="RISC-V # "
CONFIG_CMD_IMLS=y
CONFIG_CMD_MMC=y
...
...
configs/ae350_rv32_spl_xip_defconfig
浏览文件 @
4fe629d2
...
...
@@ -17,6 +17,7 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
CONFIG_SYS_MONITOR_BASE=0x88000000
CONFIG_BOOTDELAY=3
CONFIG_BOARD_EARLY_INIT_F=y
# CONFIG_BINMAN_FDT is not set
CONFIG_SYS_PROMPT="RISC-V # "
CONFIG_CMD_IMLS=y
CONFIG_CMD_MMC=y
...
...
configs/ae350_rv64_spl_defconfig
浏览文件 @
4fe629d2
...
...
@@ -16,6 +16,7 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x00200000
CONFIG_SYS_MONITOR_BASE=0x88000000
CONFIG_BOOTDELAY=3
CONFIG_BOARD_EARLY_INIT_F=y
# CONFIG_BINMAN_FDT is not set
CONFIG_SYS_PROMPT="RISC-V # "
CONFIG_CMD_IMLS=y
CONFIG_CMD_MMC=y
...
...
configs/ae350_rv64_spl_xip_defconfig
浏览文件 @
4fe629d2
...
...
@@ -18,6 +18,7 @@ CONFIG_SPL_LOAD_FIT_ADDRESS=0x80010000
CONFIG_SYS_MONITOR_BASE=0x88000000
CONFIG_BOOTDELAY=3
CONFIG_BOARD_EARLY_INIT_F=y
# CONFIG_BINMAN_FDT is not set
CONFIG_SYS_PROMPT="RISC-V # "
CONFIG_CMD_IMLS=y
CONFIG_CMD_MMC=y
...
...
doc/board/sifive/unleashed.rst
浏览文件 @
4fe629d2
...
...
@@ -216,8 +216,6 @@ Or if you want to use a compressed kernel image file such as Image.gz
1.2 MiB/s
done
Bytes transferred = 4809458 (4962f2 hex)
=>setenv kernel_comp_addr_r 0x90000000
=>setenv kernel_comp_size 0x500000
By this time, correct kernel image is loaded and required environment variables
are set. You can proceed to load the ramdisk and device tree from the tftp server
...
...
include/configs/qemu-riscv.h
浏览文件 @
4fe629d2
...
...
@@ -54,10 +54,12 @@
"fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
"kernel_addr_r=0x84000000\0" \
"fdt_addr_r=0x88000000\0" \
"scriptaddr=0x88100000\0" \
"pxefile_addr_r=0x88200000\0" \
"ramdisk_addr_r=0x88300000\0" \
"kernel_comp_addr_r=0x88000000\0" \
"kernel_comp_size=0x4000000\0" \
"fdt_addr_r=0x8c000000\0" \
"scriptaddr=0x8c100000\0" \
"pxefile_addr_r=0x8c200000\0" \
"ramdisk_addr_r=0x8c300000\0" \
BOOTENV
#endif
...
...
include/configs/sifive-unleashed.h
浏览文件 @
4fe629d2
...
...
@@ -61,12 +61,14 @@
"fdt_high=0xffffffffffffffff\0" \
"initrd_high=0xffffffffffffffff\0" \
"kernel_addr_r=0x84000000\0" \
"fdt_addr_r=0x88000000\0" \
"scriptaddr=0x88100000\0" \
"kernel_comp_addr_r=0x88000000\0" \
"kernel_comp_size=0x4000000\0" \
"fdt_addr_r=0x8c000000\0" \
"scriptaddr=0x8c100000\0" \
"script_offset_f=0x1fff000\0" \
"script_size_f=0x1000\0" \
"pxefile_addr_r=0x8
8
200000\0" \
"ramdisk_addr_r=0x8
8
300000\0" \
"pxefile_addr_r=0x8
c
200000\0" \
"ramdisk_addr_r=0x8
c
300000\0" \
"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
"type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \
...
...
include/configs/sifive-unmatched.h
浏览文件 @
4fe629d2
...
...
@@ -56,12 +56,12 @@
#define CONFIG_EXTRA_ENV_SETTINGS \
"kernel_addr_r=0x84000000\0" \
"fdt_addr_r=0x88000000\0" \
"scriptaddr=0x88100000\0" \
"pxefile_addr_r=0x88200000\0" \
"ramdisk_addr_r=0x88300000\0" \
"kernel_comp_addr_r=0x90000000\0" \
"kernel_comp_addr_r=0x88000000\0" \
"kernel_comp_size=0x4000000\0" \
"fdt_addr_r=0x8c000000\0" \
"scriptaddr=0x8c100000\0" \
"pxefile_addr_r=0x8c200000\0" \
"ramdisk_addr_r=0x8c300000\0" \
"type_guid_gpt_loader1=" TYPE_GUID_LOADER1 "\0" \
"type_guid_gpt_loader2=" TYPE_GUID_LOADER2 "\0" \
"type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录