mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-27 04:13:53 -06:00
hw/hppa: Wire up Diva GSP card
Until now we used a standard serial-pci device to emulate a HP serial console. This worked nicely with 32-bit Linux and 32-bit HP-UX, but 64-bit HP-UX crashes with it and expects either a Diva GSP card, or a real 64-bit capable PCI graphic card (which we don't have yet). In order to continue with 64-bit HP-UX, switch over to the recently added Diva GSP card emulation. Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
2740747084
commit
c061efca0b
2 changed files with 12 additions and 20 deletions
|
@ -11,6 +11,7 @@ config HPPA_B160L
|
|||
select LASI
|
||||
select SERIAL_MM
|
||||
select SERIAL_PCI
|
||||
select DIVA_GSP
|
||||
select ISA_BUS
|
||||
select I8259
|
||||
select IDE_CMD646
|
||||
|
|
|
@ -383,26 +383,17 @@ static void machine_HP_common_init_tail(MachineState *machine, PCIBus *pci_bus,
|
|||
|
||||
pci_init_nic_devices(pci_bus, mc->default_nic);
|
||||
|
||||
/* BMC board: HP Powerbar SP2 Diva (with console only) */
|
||||
pci_dev = pci_new(-1, "pci-serial");
|
||||
if (!lasi_dev) {
|
||||
/* bind default keyboard/serial to Diva card */
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev", serial_hd(0));
|
||||
}
|
||||
qdev_prop_set_uint8(DEVICE(pci_dev), "prog_if", 0);
|
||||
pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
|
||||
pci_config_set_vendor_id(pci_dev->config, PCI_VENDOR_ID_HP);
|
||||
pci_config_set_device_id(pci_dev->config, 0x1048);
|
||||
pci_set_word(&pci_dev->config[PCI_SUBSYSTEM_VENDOR_ID], PCI_VENDOR_ID_HP);
|
||||
pci_set_word(&pci_dev->config[PCI_SUBSYSTEM_ID], 0x1227); /* Powerbar */
|
||||
|
||||
/* create a second serial PCI card when running Astro */
|
||||
if (serial_hd(1) && !lasi_dev) {
|
||||
pci_dev = pci_new(-1, "pci-serial-4x");
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(1));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(2));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(3));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(4));
|
||||
/* BMC board: HP Diva GSP */
|
||||
dev = qdev_new("diva-gsp");
|
||||
if (!object_property_get_bool(OBJECT(dev), "disable", NULL)) {
|
||||
pci_dev = pci_new_multifunction(PCI_DEVFN(2, 0), "diva-gsp");
|
||||
if (!lasi_dev) {
|
||||
/* bind default keyboard/serial to Diva card */
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev1", serial_hd(0));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev2", serial_hd(1));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev3", serial_hd(2));
|
||||
qdev_prop_set_chr(DEVICE(pci_dev), "chardev4", serial_hd(3));
|
||||
}
|
||||
pci_realize_and_unref(pci_dev, pci_bus, &error_fatal);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue