Revision 7f70c937

b/elf_ops.h
194 194
        glue(bswap_ehdr, SZ)(&ehdr);
195 195
    }
196 196

  
197
    if (ELF_MACHINE != ehdr.e_machine)
198
        goto fail;
197
    switch (ELF_MACHINE) {
198
        case EM_PPC64:
199
            if (EM_PPC64 != ehdr.e_machine)
200
                if (EM_PPC != ehdr.e_machine)
201
                    goto fail;
202
            break;
203
        case EM_X86_64:
204
            if (EM_X86_64 != ehdr.e_machine)
205
                if (EM_386 != ehdr.e_machine)
206
                    goto fail;
207
            break;
208
        default:
209
            if (ELF_MACHINE != ehdr.e_machine)
210
                goto fail;
211
    }
199 212

  
200 213
    if (pentry)
201 214
   	*pentry = (uint64_t)(elf_sword)ehdr.e_entry;
b/target-ppc/cpu.h
68 68

  
69 69
#define TARGET_HAS_ICE 1
70 70

  
71
/* Load a 32 bit BIOS also on 64 bit machines */
72
#if defined (TARGET_PPC64) && defined(CONFIG_USER_ONLY)
71
#if defined (TARGET_PPC64)
73 72
#define ELF_MACHINE     EM_PPC64
74 73
#else
75 74
#define ELF_MACHINE     EM_PPC

Also available in: Unified diff