258 |
uint8_t syscontrol; |
uint8_t syscontrol; |
259 |
uint8_t fake_io[2]; |
uint8_t fake_io[2]; |
260 |
int contiguous_map; |
int contiguous_map; |
261 |
|
int endian; |
262 |
} sysctrl_t; |
} sysctrl_t; |
263 |
|
|
264 |
enum { |
enum { |
298 |
} |
} |
299 |
/* Check LE mode */ |
/* Check LE mode */ |
300 |
if (val & 0x02) { |
if (val & 0x02) { |
301 |
printf("Little Endian mode isn't supported (yet ?)\n"); |
sysctrl->endian = 1; |
302 |
abort(); |
} else { |
303 |
|
sysctrl->endian = 0; |
304 |
} |
} |
305 |
break; |
break; |
306 |
case 0x0800: |
case 0x0800: |
551 |
} |
} |
552 |
cpu_register_physical_memory((uint32_t)(-BIOS_SIZE), |
cpu_register_physical_memory((uint32_t)(-BIOS_SIZE), |
553 |
BIOS_SIZE, bios_offset | IO_MEM_ROM); |
BIOS_SIZE, bios_offset | IO_MEM_ROM); |
|
cpu_single_env->nip = 0xfffffffc; |
|
554 |
|
|
555 |
if (linux_boot) { |
if (linux_boot) { |
556 |
kernel_base = KERNEL_LOAD_ADDR; |
kernel_base = KERNEL_LOAD_ADDR; |
605 |
|
|
606 |
/* init basic PC hardware */ |
/* init basic PC hardware */ |
607 |
vga_initialize(pci_bus, ds, phys_ram_base + ram_size, ram_size, |
vga_initialize(pci_bus, ds, phys_ram_base + ram_size, ram_size, |
608 |
vga_ram_size); |
vga_ram_size, 0, 0); |
609 |
rtc_init(0x70, 8); |
rtc_init(0x70, 8); |
610 |
// openpic = openpic_init(0x00000000, 0xF0000000, 1); |
// openpic = openpic_init(0x00000000, 0xF0000000, 1); |
611 |
isa_pic = pic_init(pic_irq_request, cpu_single_env); |
isa_pic = pic_init(pic_irq_request, cpu_single_env); |