Revision 409dbce5 hw/petalogix_s3adsp1800_mmu.c
b/hw/petalogix_s3adsp1800_mmu.c | ||
---|---|---|
104 | 104 |
return fdt_size; |
105 | 105 |
} |
106 | 106 |
|
107 |
static uint64_t translate_kernel_address(void *opaque, uint64_t addr) |
|
108 |
{ |
|
109 |
return addr - 0x30000000LL; |
|
110 |
} |
|
111 |
|
|
107 | 112 |
static void |
108 | 113 |
petalogix_s3adsp1800_init(ram_addr_t ram_size, |
109 | 114 |
const char *boot_device, |
... | ... | |
163 | 168 |
uint32_t base32; |
164 | 169 |
|
165 | 170 |
/* Boots a kernel elf binary. */ |
166 |
kernel_size = load_elf(kernel_filename, 0,
|
|
171 |
kernel_size = load_elf(kernel_filename, NULL, NULL,
|
|
167 | 172 |
&entry, &low, &high, |
168 | 173 |
1, ELF_MACHINE, 0); |
169 | 174 |
base32 = entry; |
170 | 175 |
if (base32 == 0xc0000000) { |
171 |
kernel_size = load_elf(kernel_filename, -0x30000000LL,
|
|
172 |
&entry, NULL, NULL, |
|
176 |
kernel_size = load_elf(kernel_filename, translate_kernel_address,
|
|
177 |
NULL, &entry, NULL, NULL,
|
|
173 | 178 |
1, ELF_MACHINE, 0); |
174 | 179 |
} |
175 | 180 |
/* Always boot into physical ram. */ |
Also available in: Unified diff