X-Git-Url: https://vcs.maemo.org/git/?a=blobdiff_plain;f=hw%2Fintegratorcp.c;h=83c6208cf1909350c105609c6e8bfd1c56e8b3a6;hb=cd346349b45ef056f138a184f660b8c34c3213cc;hp=34c3b8112e19d5266cdefc73835017272fbb60a6;hpb=d537cf6c8624b27ce2b63431d2f8937f6356f652;p=qemu diff --git a/hw/integratorcp.c b/hw/integratorcp.c index 34c3b81..83c6208 100644 --- a/hw/integratorcp.c +++ b/hw/integratorcp.c @@ -1,4 +1,4 @@ -/* +/* * ARM Integrator CP System emulation. * * Copyright (c) 2005-2007 CodeSourcery. @@ -257,7 +257,7 @@ static void integratorcm_init(int memsz, uint32_t flash_offset) iomemtype = cpu_register_io_memory(0, integratorcm_readfn, integratorcm_writefn, s); - cpu_register_physical_memory(0x10000000, 0x007fffff, iomemtype); + cpu_register_physical_memory(0x10000000, 0x00800000, iomemtype); integratorcm_do_remap(s, 1); /* ??? Save/restore. */ } @@ -390,7 +390,7 @@ static qemu_irq *icp_pic_init(uint32_t base, s->parent_fiq = parent_fiq; iomemtype = cpu_register_io_memory(0, icp_pic_readfn, icp_pic_writefn, s); - cpu_register_physical_memory(base, 0x007fffff, iomemtype); + cpu_register_physical_memory(base, 0x00800000, iomemtype); /* ??? Save/restore. */ return qi; } @@ -454,7 +454,7 @@ static void icp_control_init(uint32_t base) s = (icp_control_state *)qemu_mallocz(sizeof(icp_control_state)); iomemtype = cpu_register_io_memory(0, icp_control_readfn, icp_control_writefn, s); - cpu_register_physical_memory(base, 0x007fffff, iomemtype); + cpu_register_physical_memory(base, 0x00800000, iomemtype); s->base = base; /* ??? Save/restore. */ } @@ -490,6 +490,7 @@ static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, cpu_pic[ARM_PIC_CPU_FIQ]); icp_pic_init(0xca000000, pic[26], NULL); icp_pit_init(0x13000000, pic, 5); + pl031_init(0x15000000, pic[8]); pl011_init(0x16000000, pic[1], serial_hds[0]); pl011_init(0x17000000, pic[2], serial_hds[1]); icp_control_init(0xcb000000); @@ -500,6 +501,9 @@ static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, if (nd_table[0].model == NULL || strcmp(nd_table[0].model, "smc91c111") == 0) { smc91c111_init(&nd_table[0], 0xc8000000, pic[27]); + } else if (strcmp(nd_table[0].model, "?") == 0) { + fprintf(stderr, "qemu: Supported NICs: smc91c111\n"); + exit (1); } else { fprintf(stderr, "qemu: Unsupported NIC: %s\n", nd_table[0].model); exit (1); @@ -508,7 +512,7 @@ static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, pl110_init(ds, 0xc0000000, pic[22], 0); arm_load_kernel(env, ram_size, kernel_filename, kernel_cmdline, - initrd_filename, 0x113); + initrd_filename, 0x113, 0x0); } QEMUMachine integratorcp_machine = {