Revision ca20cf32 hw/sun4u.c

b/hw/sun4u.c
34 34
#include "fw_cfg.h"
35 35
#include "sysbus.h"
36 36
#include "ide.h"
37
#include "loader.h"
38
#include "elf.h"
37 39

  
38 40
//#define DEBUG_IRQ
39 41

  
......
164 166

  
165 167
    kernel_size = 0;
166 168
    if (linux_boot) {
167
        kernel_size = load_elf(kernel_filename, 0, NULL, NULL, NULL);
169
        int bswap_needed;
170

  
171
#ifdef BSWAP_NEEDED
172
        bswap_needed = 1;
173
#else
174
        bswap_needed = 0;
175
#endif
176
        kernel_size = load_elf(kernel_filename, 0, NULL, NULL, NULL,
177
                               1, ELF_MACHINE, 0);
168 178
        if (kernel_size < 0)
169 179
            kernel_size = load_aout(kernel_filename, KERNEL_LOAD_ADDR,
170
                                    RAM_size - KERNEL_LOAD_ADDR);
180
                                    RAM_size - KERNEL_LOAD_ADDR, bswap_needed,
181
                                    TARGET_PAGE_SIZE);
171 182
        if (kernel_size < 0)
172 183
            kernel_size = load_image_targphys(kernel_filename,
173 184
                                              KERNEL_LOAD_ADDR,
......
418 429
    }
419 430
    filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
420 431
    if (filename) {
421
        ret = load_elf(filename, addr - PROM_VADDR, NULL, NULL, NULL);
432
        ret = load_elf(filename, addr - PROM_VADDR, NULL, NULL, NULL,
433
                       1, ELF_MACHINE, 0);
422 434
        if (ret < 0 || ret > PROM_SIZE_MAX) {
423 435
            ret = load_image_targphys(filename, addr, PROM_SIZE_MAX);
424 436
        }

Also available in: Unified diff