diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-02-20 00:33:36 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2006-02-20 00:33:36 +0000 |
commit | 40f137e1eadbc202daf00bd6f43a997ccfb28b70 (patch) | |
tree | f47a0f42030dda29c9ff8db306730c2e7274a410 /hw | |
parent | 4081fccf14166c018a5694c9c0679496de69b679 (diff) | |
download | qemu-40f137e1eadbc202daf00bd6f43a997ccfb28b70.zip |
Add Arm926 core support.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1765 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'hw')
-rw-r--r-- | hw/integratorcp.c | 37 |
1 files changed, 32 insertions, 5 deletions
diff --git a/hw/integratorcp.c b/hw/integratorcp.c index 8f91b582f6..db73efda1c 100644 --- a/hw/integratorcp.c +++ b/hw/integratorcp.c @@ -1173,7 +1173,7 @@ static void set_kernel_args(uint32_t ram_size, int initrd_size, static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, DisplayState *ds, const char **fd_filename, int snapshot, const char *kernel_filename, const char *kernel_cmdline, - const char *initrd_filename) + const char *initrd_filename, uint32_t cpuid) { CPUState *env; uint32_t bios_offset; @@ -1183,6 +1183,7 @@ static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, int n; env = cpu_init(); + cpu_arm_set_model(env, cpuid); bios_offset = ram_size + vga_ram_size; /* ??? On a real system the first 1Mb is mapped as SSRAM or boot flash. */ /* ??? RAM shoud repeat to fill physical memory space. */ @@ -1240,8 +1241,34 @@ static void integratorcp_init(int ram_size, int vga_ram_size, int boot_device, set_kernel_args(ram_size, initrd_size, kernel_cmdline); } -QEMUMachine integratorcp_machine = { - "integratorcp", - "ARM Integrator/CP", - integratorcp_init, +static void integratorcp926_init(int ram_size, int vga_ram_size, + int boot_device, DisplayState *ds, const char **fd_filename, int snapshot, + const char *kernel_filename, const char *kernel_cmdline, + const char *initrd_filename) +{ + integratorcp_init(ram_size, vga_ram_size, boot_device, ds, fd_filename, + snapshot, kernel_filename, kernel_cmdline, + initrd_filename, ARM_CPUID_ARM926); +} + +static void integratorcp1026_init(int ram_size, int vga_ram_size, + int boot_device, DisplayState *ds, const char **fd_filename, int snapshot, + const char *kernel_filename, const char *kernel_cmdline, + const char *initrd_filename) +{ + integratorcp_init(ram_size, vga_ram_size, boot_device, ds, fd_filename, + snapshot, kernel_filename, kernel_cmdline, + initrd_filename, ARM_CPUID_ARM1026); +} + +QEMUMachine integratorcp926_machine = { + "integratorcp926", + "ARM Integrator/CP (ARM926EJ-S)", + integratorcp926_init, +}; + +QEMUMachine integratorcp1026_machine = { + "integratorcp1026", + "ARM Integrator/CP (ARM1026EJ-S)", + integratorcp1026_init, }; |