Re: [U-Boot] [PATCH 3/8] riscv: ax25-ae350: Use generic memory size setup
Hi Bin Bin Meng 於 2019年10月29日 週二 下午10:42寫道: > > Hi Rick, > > On Fri, Oct 25, 2019 at 2:17 PM Andes wrote: > > > > From: Rick Chen > > > > To get memory size from device tree instead of > > get_ram_size(). This can avoid memory access fault > > Could you please explain a little more about why get_ram_size() causes > PMP access fault? OpenSBI will configure pmpcfg and pmpaddr for memory protection in specific range. When get_ram_size() try to store or load memory address, it will appear access fault exception. Thanks Rick > > > in U-Boot proper after PMP configurations in OpenSbi. > > > > Signed-off-by: Rick Chen > > Cc: KC Lin > > Cc: Alan Kao > > --- > > board/AndesTech/ax25-ae350/ax25-ae350.c | 21 ++--- > > 1 file changed, 2 insertions(+), 19 deletions(-) > > > > Regards, > Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
Re: [U-Boot] [PATCH 3/8] riscv: ax25-ae350: Use generic memory size setup
Hi Rick, On Fri, Oct 25, 2019 at 2:17 PM Andes wrote: > > From: Rick Chen > > To get memory size from device tree instead of > get_ram_size(). This can avoid memory access fault Could you please explain a little more about why get_ram_size() causes PMP access fault? > in U-Boot proper after PMP configurations in OpenSbi. > > Signed-off-by: Rick Chen > Cc: KC Lin > Cc: Alan Kao > --- > board/AndesTech/ax25-ae350/ax25-ae350.c | 21 ++--- > 1 file changed, 2 insertions(+), 19 deletions(-) > Regards, Bin ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot
[U-Boot] [PATCH 3/8] riscv: ax25-ae350: Use generic memory size setup
From: Rick Chen To get memory size from device tree instead of get_ram_size(). This can avoid memory access fault in U-Boot proper after PMP configurations in OpenSbi. Signed-off-by: Rick Chen Cc: KC Lin Cc: Alan Kao --- board/AndesTech/ax25-ae350/ax25-ae350.c | 21 ++--- 1 file changed, 2 insertions(+), 19 deletions(-) diff --git a/board/AndesTech/ax25-ae350/ax25-ae350.c b/board/AndesTech/ax25-ae350/ax25-ae350.c index b0164a9..47e6929 100644 --- a/board/AndesTech/ax25-ae350/ax25-ae350.c +++ b/board/AndesTech/ax25-ae350/ax25-ae350.c @@ -30,29 +30,12 @@ int board_init(void) int dram_init(void) { - unsigned long sdram_base = PHYS_SDRAM_0; - unsigned long expected_size = PHYS_SDRAM_0_SIZE + PHYS_SDRAM_1_SIZE; - unsigned long actual_size; - - actual_size = get_ram_size((void *)sdram_base, expected_size); - gd->ram_size = actual_size; - - if (expected_size != actual_size) { - printf("Warning: Only %lu of %lu MiB SDRAM is working\n", - actual_size >> 20, expected_size >> 20); - } - - return 0; + return fdtdec_setup_mem_size_base(); } int dram_init_banksize(void) { - gd->bd->bi_dram[0].start = PHYS_SDRAM_0; - gd->bd->bi_dram[0].size = PHYS_SDRAM_0_SIZE; - gd->bd->bi_dram[1].start = PHYS_SDRAM_1; - gd->bd->bi_dram[1].size = PHYS_SDRAM_1_SIZE; - - return 0; + return fdtdec_setup_memory_banksize(); } #if defined(CONFIG_FTMAC100) && !defined(CONFIG_DM_ETH) -- 2.7.4 ___ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot