- temporary pci irq initialisation removed from pci devices (now done in the

PCI BIOS)
This commit is contained in:
Volker Ruppert 2004-09-25 22:15:02 +00:00
parent 0fd0fc7384
commit b5e4d0666b
7 changed files with 14 additions and 30 deletions

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: iodev.h,v 1.51 2004-09-05 10:30:19 vruppert Exp $
// $Id: iodev.h,v 1.52 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -291,9 +291,6 @@ class BOCHSAPI bx_pci2isa_stub_c : public bx_devmodel_c {
virtual void pci_set_irq (Bit8u devfunc, unsigned line, bx_bool level) {
STUBFUNC(pci2isa, pci_set_irq);
}
virtual void pci_init_irq (Bit8u devfunc, unsigned line, unsigned irq) {
STUBFUNC(pci2isa, pci_init_irq);
}
};
class BOCHSAPI bx_ne2k_stub_c : public bx_devmodel_c {

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: ne2k.cc,v 1.69 2004-09-18 12:35:13 vruppert Exp $
// $Id: ne2k.cc,v 1.70 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -130,8 +130,6 @@ bx_ne2k_c::reset(unsigned type)
DEV_pci_set_base_io(this, read_handler, write_handler,
&BX_NE2K_THIS s.base_address, &BX_NE2K_THIS s.pci_conf[0x10],
32, &ne2k_iomask[0], "NE2000 PCI NIC");
BX_NE2K_THIS s.pci_conf[0x3c] = bx_options.ne2k.Oirq->get ();
DEV_pci_init_irq(BX_NE2K_THIS s.devfunc, BX_NE2K_THIS s.pci_conf[0x3d], bx_options.ne2k.Oirq->get ());
}
#endif
set_irq_level(0);
@ -1304,7 +1302,7 @@ bx_ne2k_c::init(void)
{
char devname[16];
BX_DEBUG(("Init $Id: ne2k.cc,v 1.69 2004-09-18 12:35:13 vruppert Exp $"));
BX_DEBUG(("Init $Id: ne2k.cc,v 1.70 2004-09-25 22:15:02 vruppert Exp $"));
// Read in values from config file
memcpy(BX_NE2K_THIS s.physaddr, bx_options.ne2k.Omacaddr->getptr (), 6);

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: pci2isa.cc,v 1.21 2004-09-12 18:04:18 vruppert Exp $
// $Id: pci2isa.cc,v 1.22 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -181,13 +181,6 @@ bx_pci2isa_c::pci_unregister_irq(unsigned pirq)
}
}
void
bx_pci2isa_c::pci_init_irq(Bit8u devfunc, unsigned line, unsigned irq)
{
Bit8u pirq = ((devfunc >> 3) + line - 2) & 0x03;
pci_register_irq(pirq, irq);
}
void
bx_pci2isa_c::pci_set_irq(Bit8u devfunc, unsigned line, bx_bool level)
{

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: pci2isa.h,v 1.8 2004-07-06 19:59:10 vruppert Exp $
// $Id: pci2isa.h,v 1.9 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2002 MandrakeSoft S.A.
@ -41,7 +41,6 @@ public:
~bx_pci2isa_c(void);
virtual void init(void);
virtual void reset(unsigned type);
virtual void pci_init_irq(Bit8u devfunc, unsigned line, unsigned irq);
virtual void pci_set_irq(Bit8u devfunc, unsigned line, bx_bool level);
private:

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: pcipnic.cc,v 1.8 2004-08-06 15:49:55 vruppert Exp $
// $Id: pcipnic.cc,v 1.9 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2003 Fen Systems Ltd.
@ -166,8 +166,8 @@ bx_pcipnic_c::reset(unsigned type)
{ 0x20, (( bx_options.pnic.Oioaddr->get() & 0xE0) | 0x01) },
{ 0x21, ( bx_options.pnic.Oioaddr->get() >> 8) },
{ 0x22, 0x00 }, { 0x23, 0x00 },
{ 0x3c, bx_options.pnic.Oirq->get() }, // IRQ
{ 0x3d, BX_PCI_INTA }, // INT
{ 0x3c, 0x00, }, // IRQ
{ 0x3d, BX_PCI_INTA }, // INT
{ 0x6a, 0x01 }, // PNIC clock
{ 0xc1, 0x20 } // PIRQ enable
@ -190,7 +190,6 @@ bx_pcipnic_c::reset(unsigned type)
&BX_PNIC_THIS s.base_ioaddr,
&BX_PNIC_THIS s.pci_conf[0x20],
16, &pnic_iomask[0], "PNIC");
DEV_pci_init_irq(BX_PNIC_THIS s.devfunc, BX_PNIC_THIS s.pci_conf[0x3d], bx_options.pnic.Oirq->get());
// Deassert IRQ
set_irq_level(0);
}

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: pciusb.cc,v 1.11 2004-09-16 18:34:10 vruppert Exp $
// $Id: pciusb.cc,v 1.12 2004-09-25 22:15:02 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2003 MandrakeSoft S.A.
@ -117,8 +117,8 @@ bx_pciusb_c::reset(unsigned type)
} reset_vals[] = {
{ 0x00, 0x86 }, { 0x01, 0x80 }, // 0x8086 = vendor
{ 0x02, 0x20 }, { 0x03, 0x70 }, // 0x7020 = device
{ 0x04, 0x05 }, { 0x05, 0x00 }, // command_io
{ 0x06, 0x80 }, { 0x07, 0x02 }, // status
{ 0x04, 0x05 }, { 0x05, 0x00 }, // command_io
{ 0x06, 0x80 }, { 0x07, 0x02 }, // status
{ 0x08, 0x01 }, // revision number
{ 0x09, 0x00 }, // interface
{ 0x0a, 0x03 }, // class_sub USB Host Controller
@ -129,8 +129,8 @@ bx_pciusb_c::reset(unsigned type)
{ 0x20, ((bx_options.usb[0].Oioaddr->get() & 0xE0) | 0x01) },
{ 0x21, (bx_options.usb[0].Oioaddr->get() >> 8) },
{ 0x22, 0x00 }, { 0x23, 0x00 },
{ 0x3c, bx_options.usb[0].Oirq->get() }, // IRQ
{ 0x3d, BX_PCI_INTD }, // INT
{ 0x3c, 0x00 }, // IRQ
{ 0x3d, BX_PCI_INTD }, // INT
{ 0x6a, 0x01 }, // USB clock
{ 0xc1, 0x20 } // PIRQ enable
@ -143,7 +143,6 @@ bx_pciusb_c::reset(unsigned type)
&BX_USB_THIS hub[0].base_ioaddr,
&BX_USB_THIS hub[0].pci_conf[0x20],
32, &usb_iomask[0], "USB Hub #1");
DEV_pci_init_irq(0x0a, BX_PCI_INTD, bx_options.usb[0].Oirq->get());
// reset locals
BX_USB_THIS global_reset = 0;

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: plugin.h,v 1.31 2004-08-24 10:15:55 vruppert Exp $
// $Id: plugin.h,v 1.32 2004-09-25 22:15:01 vruppert Exp $
/////////////////////////////////////////////////////////////////////////
//
// This file provides macros and types needed for plugins. It is based on
@ -177,7 +177,6 @@ extern "C" {
#define DEV_register_pci_handlers(b,c,d,e,f,g) \
(bx_devices.pluginPciBridge->register_pci_handlers(b,c,d,e,f,g))
#define DEV_is_pci_device(name) bx_devices.pluginPciBridge->is_pci_device(name)
#define DEV_pci_init_irq(a,b,c) bx_devices.pluginPci2IsaBridge->pci_init_irq(a,b,c)
#define DEV_pci_set_irq(a,b,c) bx_devices.pluginPci2IsaBridge->pci_set_irq(a,b,c)
#define DEV_pci_set_base_mem(a,b,c,d,e,f) \
(bx_devices.pluginPciBridge->pci_set_base_mem(a,b,c,d,e,f))