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