Commit 5768f5aca6ebe81b203b580c7ab812dd0c2bcfa7

Authored by bellard
1 parent 1078f663

PCI interrupt support


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@825 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 12 additions and 2 deletions
... ... @@ -382,7 +382,7 @@ typedef void PCIMapIORegionFunc(PCIDevice *pci_dev, int region_num,
382 382 #define PCI_ADDRESS_SPACE_MEM_PREFETCH 0x08
383 383  
384 384 typedef struct PCIIORegion {
385   - uint32_t addr;
  385 + uint32_t addr; /* current PCI mapping address. -1 means not mapped */
386 386 uint32_t size;
387 387 uint8_t type;
388 388 PCIMapIORegionFunc *map_func;
... ... @@ -401,6 +401,7 @@ struct PCIDevice {
401 401 /* do not access the following fields */
402 402 PCIConfigReadFunc *config_read;
403 403 PCIConfigWriteFunc *config_write;
  404 + int irq_index;
404 405 };
405 406  
406 407 PCIDevice *pci_register_device(const char *name, int instance_size,
... ... @@ -412,9 +413,17 @@ void pci_register_io_region(PCIDevice *pci_dev, int region_num,
412 413 uint32_t size, int type,
413 414 PCIMapIORegionFunc *map_func);
414 415  
  416 +void pci_set_irq(PCIDevice *pci_dev, int irq_num, int level);
  417 +
  418 +uint32_t pci_default_read_config(PCIDevice *d,
  419 + uint32_t address, int len);
  420 +void pci_default_write_config(PCIDevice *d,
  421 + uint32_t address, uint32_t val, int len);
  422 +
415 423 void i440fx_init(void);
416 424 void piix3_init(void);
417 425 void pci_bios_init(void);
  426 +void pci_info(void);
418 427  
419 428 /* vga.c */
420 429  
... ... @@ -440,7 +449,8 @@ static inline void dpy_resize(DisplayState *s, int w, int h)
440 449 }
441 450  
442 451 int vga_initialize(DisplayState *ds, uint8_t *vga_ram_base,
443   - unsigned long vga_ram_offset, int vga_ram_size);
  452 + unsigned long vga_ram_offset, int vga_ram_size,
  453 + int is_pci);
444 454 void vga_update_display(void);
445 455 void vga_screen_dump(const char *filename);
446 456  
... ...