mirror of https://github.com/xemu-project/xemu.git
xbox: Fix for QEMU head and fire up stock usb controllers
This commit is contained in:
parent
a282385882
commit
ef9ace1c69
41
hw/xbox.c
41
hw/xbox.c
|
@ -157,40 +157,51 @@ static void ioapic_init(GSIState *gsi_state)
|
|||
#define MAX_IDE_BUS 2
|
||||
|
||||
/* mostly from pc_init1 */
|
||||
static void xbox_init(ram_addr_t ram_size,
|
||||
const char *boot_device,
|
||||
const char *kernel_filename,
|
||||
const char *kernel_cmdline,
|
||||
const char *initrd_filename,
|
||||
const char *cpu_model)
|
||||
static void xbox_init(QEMUMachineInitArgs *args)
|
||||
{
|
||||
int i;
|
||||
ram_addr_t ram_size;
|
||||
const char *cpu_model;
|
||||
const char *boot_device;
|
||||
|
||||
PCIBus *host_bus;
|
||||
ISABus *isa_bus;
|
||||
|
||||
MemoryRegion *system_memory;
|
||||
MemoryRegion *system_io;
|
||||
MemoryRegion *ram_memory;
|
||||
MemoryRegion *pci_memory;
|
||||
|
||||
qemu_irq *cpu_irq;
|
||||
qemu_irq *gsi;
|
||||
qemu_irq *i8259;
|
||||
GSIState *gsi_state;
|
||||
|
||||
PCIDevice *ide_dev;
|
||||
DriveInfo *hd[MAX_IDE_BUS * MAX_IDE_DEVS];
|
||||
BusState *idebus[MAX_IDE_BUS];
|
||||
|
||||
ISADevice *rtc_state;
|
||||
ISADevice *pit;
|
||||
MemoryRegion *ram_memory;
|
||||
MemoryRegion *pci_memory;
|
||||
|
||||
DeviceState *xboxpci_host;
|
||||
i2c_bus *smbus;
|
||||
PCIBus *agp_bus;
|
||||
|
||||
|
||||
ram_size = args->ram_size;
|
||||
cpu_model = args->cpu_model;
|
||||
boot_device = args->boot_device;
|
||||
system_memory = get_system_memory();
|
||||
system_io = get_system_io();
|
||||
|
||||
|
||||
pc_cpus_init(cpu_model);
|
||||
|
||||
pci_memory = g_new(MemoryRegion, 1);
|
||||
memory_region_init(pci_memory, "pci", INT64_MAX);
|
||||
|
||||
/* allocate ram and load rom/bios */
|
||||
xbox_memory_init(get_system_memory(), ram_size,
|
||||
xbox_memory_init(system_memory, ram_size,
|
||||
pci_memory, &ram_memory);
|
||||
|
||||
|
||||
|
@ -200,7 +211,7 @@ static void xbox_init(ram_addr_t ram_size,
|
|||
|
||||
/* init buses */
|
||||
host_bus = xbox_pci_init(&xboxpci_host, gsi,
|
||||
get_system_memory(), get_system_io(),
|
||||
system_memory, system_io,
|
||||
pci_memory, ram_memory);
|
||||
|
||||
|
||||
|
@ -231,15 +242,15 @@ static void xbox_init(ram_addr_t ram_size,
|
|||
|
||||
/* TODO: ethernet */
|
||||
|
||||
/* TODO: USB */
|
||||
/* USB */
|
||||
pci_create_simple(host_bus, PCI_DEVFN(2, 0), "pci-ohci");
|
||||
pci_create_simple(host_bus, PCI_DEVFN(3, 0), "pci-ohci");
|
||||
|
||||
/* hdd shit
|
||||
* piix3's ide be right for now, maybe
|
||||
*/
|
||||
|
||||
|
||||
ide_drive_get(hd, MAX_IDE_BUS);
|
||||
ide_dev = pci_piix4_ide_init(host_bus, hd, PCI_DEVFN(9, 0));
|
||||
ide_dev = pci_piix3_ide_init(host_bus, hd, PCI_DEVFN(9, 0));
|
||||
|
||||
idebus[0] = qdev_get_child_bus(&ide_dev->qdev, "ide.0");
|
||||
idebus[1] = qdev_get_child_bus(&ide_dev->qdev, "ide.1");
|
||||
|
|
Loading…
Reference in New Issue