Lines Matching +full:1000 +full:base +full:- +full:x
4 * Copyright (c) 2004-2007 Fabrice Bellard
30 …* 0001:00:01.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge [1022:7450] (…
31 …* 0001:00:02.0 PCI bridge [0604]: Advanced Micro Devices [AMD] AMD-8131 PCI-X Bridge [1022:7450] (…
32 * 0001:00:03.0 PCI bridge [0604]: Apple Computer Inc. K2 HT-PCI Bridge [106b:0045]
33 * 0001:00:04.0 PCI bridge [0604]: Apple Computer Inc. K2 HT-PCI Bridge [106b:0046]
34 * 0001:00:05.0 PCI bridge [0604]: Apple Computer Inc. K2 HT-PCI Bridge [106b:0047]
35 * 0001:00:06.0 PCI bridge [0604]: Apple Computer Inc. K2 HT-PCI Bridge [106b:0048]
36 * 0001:00:07.0 PCI bridge [0604]: Apple Computer Inc. K2 HT-PCI Bridge [106b:0049]
55 #include "hw/qdev-properties.h"
58 #include "hw/pci-host/uninorth.h"
69 #include "hw/fw-path-provider.h"
71 #include "qemu/error-report.h"
81 #define TBFREQ (25UL * 1000UL * 1000UL)
82 #define CLOCKFREQ (900UL * 1000UL * 1000UL)
83 #define BUSFREQ (100UL * 1000UL * 1000UL)
87 #define PROM_FILENAME "openbios-ppc"
129 cpu->env.nip = PROM_BASE + 0x100; in ppc_core99_reset()
141 int i, j, k, ppc_boot_device, machine_arch, bios_size = -1; in ppc_core99_init()
142 const char *bios_name = machine->firmware ?: PROM_FILENAME; in ppc_core99_init()
161 for (i = 0; i < machine->smp.cpus; i++) { in ppc_core99_init()
162 cpu = POWERPC_CPU(cpu_create(machine->cpu_type)); in ppc_core99_init()
163 env = &cpu->env; in ppc_core99_init()
165 /* Set time-base frequency to 100 Mhz */ in ppc_core99_init()
171 if (machine->ram_size > 2 * GiB) { in ppc_core99_init()
175 memory_region_add_subregion(get_system_memory(), 0, machine->ram); in ppc_core99_init()
200 if (machine->kernel_filename) { in ppc_core99_init()
202 kernel_size = load_elf(machine->kernel_filename, NULL, in ppc_core99_init()
206 kernel_size = load_aout(machine->kernel_filename, kernel_base, in ppc_core99_init()
207 machine->ram_size - kernel_base, in ppc_core99_init()
211 kernel_size = load_image_targphys(machine->kernel_filename, in ppc_core99_init()
213 machine->ram_size - kernel_base); in ppc_core99_init()
217 machine->kernel_filename); in ppc_core99_init()
221 if (machine->initrd_filename) { in ppc_core99_init()
223 initrd_size = load_image_targphys(machine->initrd_filename, in ppc_core99_init()
225 machine->ram_size - initrd_base); in ppc_core99_init()
228 machine->initrd_filename); in ppc_core99_init()
241 for (i = 0; machine->boot_config.order[i] != '\0'; i++) { in ppc_core99_init()
242 if (machine->boot_config.order[i] >= 'c' && in ppc_core99_init()
243 machine->boot_config.order[i] <= 'f') { in ppc_core99_init()
244 ppc_boot_device = machine->boot_config.order[i]; in ppc_core99_init()
254 openpic_irqs = g_new0(IrqLines, machine->smp.cpus); in ppc_core99_init()
256 for (i = 0; i < machine->smp.cpus; i++) { in ppc_core99_init()
334 /* Uninorth main bus - this must be last to make it the default */ in ppc_core99_init()
336 qdev_prop_set_uint32(uninorth_pci_dev, "ofw-addr", 0xf2000000); in ppc_core99_init()
349 machine->usb |= defaults_enabled() && !machine->usb_disabled; in ppc_core99_init()
350 has_pmu = (core99_machine->via_config != CORE99_VIA_CONFIG_CUDA); in ppc_core99_init()
351 has_adb = (core99_machine->via_config == CORE99_VIA_CONFIG_CUDA || in ppc_core99_init()
352 core99_machine->via_config == CORE99_VIA_CONFIG_PMU_ADB); in ppc_core99_init()
355 pci_bus = PCI_HOST_BRIDGE(uninorth_pci_dev)->bus; in ppc_core99_init()
358 macio = OBJECT(pci_new(-1, TYPE_NEWWORLD_MACIO)); in ppc_core99_init()
361 qdev_prop_set_bit(dev, "has-pmu", has_pmu); in ppc_core99_init()
362 qdev_prop_set_bit(dev, "has-adb", has_adb); in ppc_core99_init()
376 /* TODO: additional PCI buses only wired up for 32-bit machines */ in ppc_core99_init()
394 for (i = 0; i < machine->smp.cpus; i++) { in ppc_core99_init()
425 if (machine->usb) { in ppc_core99_init()
426 pci_create_simple(pci_bus, -1, "pci-ohci"); in ppc_core99_init()
428 /* U3 needs to use USB for input because Linux doesn't support via-cuda in ppc_core99_init()
435 usb_create_simple(usb_bus, "usb-kbd"); in ppc_core99_init()
436 usb_create_simple(usb_bus, "usb-mouse"); in ppc_core99_init()
446 pci_init_nic_devices(pci_bus, mc->default_nic); in ppc_core99_init()
450 /* We can't combine read-write and read-only in a single page, so in ppc_core99_init()
473 fw_cfg_add_i16(fw_cfg, FW_CFG_NB_CPUS, (uint16_t)machine->smp.cpus); in ppc_core99_init()
474 fw_cfg_add_i16(fw_cfg, FW_CFG_MAX_CPUS, (uint16_t)machine->smp.max_cpus); in ppc_core99_init()
475 fw_cfg_add_i64(fw_cfg, FW_CFG_RAM_SIZE, (uint64_t)machine->ram_size); in ppc_core99_init()
479 if (machine->kernel_cmdline) { in ppc_core99_init()
482 machine->kernel_cmdline); in ppc_core99_init()
494 fw_cfg_add_i32(fw_cfg, FW_CFG_PPC_VIACONFIG, core99_machine->via_config); in ppc_core99_init()
506 /* Mac OS X requires a "known good" clock-frequency value; pass it one. */ in ppc_core99_init()
536 if (!strcmp(object_get_typename(OBJECT(dev)), "macio-newworld")) { in core99_fw_dev_path()
538 return g_strdup_printf("mac-io@%x", PCI_SLOT(pci->devfn)); in core99_fw_dev_path()
541 if (!strcmp(object_get_typename(OBJECT(dev)), "macio-ide")) { in core99_fw_dev_path()
543 return g_strdup_printf("ata-3@%x", macio_ide->addr); in core99_fw_dev_path()
546 if (!strcmp(object_get_typename(OBJECT(dev)), "ide-hd")) { in core99_fw_dev_path()
550 if (!strcmp(object_get_typename(OBJECT(dev)), "ide-cd")) { in core99_fw_dev_path()
554 if (!strcmp(object_get_typename(OBJECT(dev)), "virtio-blk-device")) { in core99_fw_dev_path()
571 mc->desc = "Mac99 based PowerMac"; in core99_machine_class_init()
572 mc->init = ppc_core99_init; in core99_machine_class_init()
573 mc->block_default_type = IF_IDE; in core99_machine_class_init()
575 mc->max_cpus = 1; in core99_machine_class_init()
576 mc->default_boot_order = "cd"; in core99_machine_class_init()
577 mc->default_display = "std"; in core99_machine_class_init()
578 mc->default_nic = "sungem"; in core99_machine_class_init()
579 mc->kvm_type = core99_kvm_type; in core99_machine_class_init()
581 mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("970fx_v3.1"); in core99_machine_class_init()
583 mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("7400_v2.9"); in core99_machine_class_init()
585 mc->default_ram_id = "ppc_core99.ram"; in core99_machine_class_init()
586 mc->ignore_boot_device_suffixes = true; in core99_machine_class_init()
587 fwc->get_dev_path = core99_fw_dev_path; in core99_machine_class_init()
594 switch (cms->via_config) { in core99_get_via_config()
603 return g_strdup("pmu-adb"); in core99_get_via_config()
612 cms->via_config = CORE99_VIA_CONFIG_CUDA; in core99_set_via_config()
614 cms->via_config = CORE99_VIA_CONFIG_PMU; in core99_set_via_config()
615 } else if (!strcmp(value, "pmu-adb")) { in core99_set_via_config()
616 cms->via_config = CORE99_VIA_CONFIG_PMU_ADB; in core99_set_via_config()
619 error_append_hint(errp, "Valid values are cuda, pmu, pmu-adb.\n"); in core99_set_via_config()
628 cms->via_config = CORE99_VIA_CONFIG_CUDA; in core99_instance_init()
633 "Valid values are cuda, pmu and pmu-adb"); in core99_instance_init()