Revision be58fc7c
b/hw/ppc405_uc.c | ||
---|---|---|
75 | 75 |
int i, n; |
76 | 76 |
|
77 | 77 |
/* We put the bd structure at the top of memory */ |
78 |
bdloc = bd->bi_memsize - sizeof(struct ppc4xx_bd_info_t); |
|
78 |
if (bd->bi_memsize >= 0x01000000UL) |
|
79 |
bdloc = 0x01000000UL - sizeof(struct ppc4xx_bd_info_t); |
|
80 |
else |
|
81 |
bdloc = bd->bi_memsize - sizeof(struct ppc4xx_bd_info_t); |
|
79 | 82 |
stl_raw(phys_ram_base + bdloc + 0x00, bd->bi_memstart); |
80 | 83 |
stl_raw(phys_ram_base + bdloc + 0x04, bd->bi_memsize); |
81 | 84 |
stl_raw(phys_ram_base + bdloc + 0x08, bd->bi_flashstart); |
... | ... | |
952 | 955 |
bcr = 0x000C0000; |
953 | 956 |
break; |
954 | 957 |
default: |
955 |
printf("%s: invalid RAM size " TARGET_FMT_ld "\n", __func__, ram_size); |
|
958 |
printf("%s: invalid RAM size " TARGET_FMT_plx "\n", |
|
959 |
__func__, ram_size); |
|
956 | 960 |
return 0x00000000; |
957 | 961 |
} |
958 | 962 |
bcr |= ram_base & 0xFF800000; |
... | ... | |
985 | 989 |
if (*bcrp & 0x00000001) { |
986 | 990 |
/* Unmap RAM */ |
987 | 991 |
#ifdef DEBUG_SDRAM |
988 |
printf("%s: unmap RAM area " ADDRX " " ADDRX "\n", __func__,
|
|
989 |
sdram_base(*bcrp), sdram_size(*bcrp)); |
|
992 |
printf("%s: unmap RAM area " TARGET_FMT_plx " " TARGET_FMT_lx "\n",
|
|
993 |
__func__, sdram_base(*bcrp), sdram_size(*bcrp));
|
|
990 | 994 |
#endif |
991 | 995 |
cpu_register_physical_memory(sdram_base(*bcrp), sdram_size(*bcrp), |
992 | 996 |
IO_MEM_UNASSIGNED); |
... | ... | |
994 | 998 |
*bcrp = bcr & 0xFFDEE001; |
995 | 999 |
if (enabled && (bcr & 0x00000001)) { |
996 | 1000 |
#ifdef DEBUG_SDRAM |
997 |
printf("%s: Map RAM area " ADDRX " " ADDRX "\n", __func__,
|
|
998 |
sdram_base(bcr), sdram_size(bcr)); |
|
1001 |
printf("%s: Map RAM area " TARGET_FMT_plx " " TARGET_FMT_lx "\n",
|
|
1002 |
__func__, sdram_base(bcr), sdram_size(bcr));
|
|
999 | 1003 |
#endif |
1000 | 1004 |
cpu_register_physical_memory(sdram_base(bcr), sdram_size(bcr), |
1001 | 1005 |
sdram_base(bcr) | IO_MEM_RAM); |
... | ... | |
1023 | 1027 |
|
1024 | 1028 |
for (i = 0; i < sdram->nbanks; i++) { |
1025 | 1029 |
#ifdef DEBUG_SDRAM |
1026 |
printf("%s: Unmap RAM area " ADDRX " " ADDRX "\n", __func__,
|
|
1027 |
sdram_base(sdram->bcr[i]), sdram_size(sdram->bcr[i])); |
|
1030 |
printf("%s: Unmap RAM area " TARGET_FMT_plx " " TARGET_FMT_lx "\n",
|
|
1031 |
__func__, sdram_base(sdram->bcr[i]), sdram_size(sdram->bcr[i]));
|
|
1028 | 1032 |
#endif |
1029 | 1033 |
cpu_register_physical_memory(sdram_base(sdram->bcr[i]), |
1030 | 1034 |
sdram_size(sdram->bcr[i]), |
Also available in: Unified diff