diff options
author | Richard Purdie <richard@openedhand.com> | 2007-06-13 11:55:58 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-06-13 11:55:58 +0000 |
commit | c6a97a06968d062b742d458f86cb8fbf6ab63e99 (patch) | |
tree | 3b684d87ce2dcf944ddb0acf1a6c609c9b22036a /meta/packages/qemu/files/qemu-pci-irq-sharing.patch | |
parent | 4b747705b4adc0085f131e2b6bd8f01fe306e59b (diff) | |
download | poky-c6a97a06968d062b742d458f86cb8fbf6ab63e99.tar.gz |
qemu: Update to a recent version
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@1923 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta/packages/qemu/files/qemu-pci-irq-sharing.patch')
-rw-r--r-- | meta/packages/qemu/files/qemu-pci-irq-sharing.patch | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/meta/packages/qemu/files/qemu-pci-irq-sharing.patch b/meta/packages/qemu/files/qemu-pci-irq-sharing.patch deleted file mode 100644 index c47e89895f..0000000000 --- a/meta/packages/qemu/files/qemu-pci-irq-sharing.patch +++ /dev/null | |||
@@ -1,52 +0,0 @@ | |||
1 | diff -pNaur qemu-cvs-ts-orig/hw/pci.c qemu-cvs-ts/hw/pci.c | ||
2 | --- qemu-cvs-ts-orig/hw/pci.c 2006-08-17 10:46:34.000000000 +0000 | ||
3 | +++ qemu-cvs-ts/hw/pci.c 2006-09-23 17:02:41.000000000 +0000 | ||
4 | @@ -34,6 +34,7 @@ struct PCIBus { | ||
5 | SetIRQFunc *low_set_irq; | ||
6 | void *irq_opaque; | ||
7 | PCIDevice *devices[256]; | ||
8 | + int irq_count[4]; | ||
9 | }; | ||
10 | |||
11 | static void pci_update_mappings(PCIDevice *d); | ||
12 | @@ -49,6 +50,7 @@ PCIBus *pci_register_bus(pci_set_irq_fn | ||
13 | bus->set_irq = set_irq; | ||
14 | bus->irq_opaque = pic; | ||
15 | bus->devfn_min = devfn_min; | ||
16 | + memset(bus->irq_count, 0, sizeof(bus->irq_count)); | ||
17 | first_bus = bus; | ||
18 | return bus; | ||
19 | } | ||
20 | @@ -100,6 +102,7 @@ PCIDevice *pci_register_device(PCIBus *b | ||
21 | pci_dev->bus = bus; | ||
22 | pci_dev->devfn = devfn; | ||
23 | pstrcpy(pci_dev->name, sizeof(pci_dev->name), name); | ||
24 | + memset(pci_dev->irq_state, 0, sizeof(pci_dev->irq_state)); | ||
25 | |||
26 | if (!config_read) | ||
27 | config_read = pci_default_read_config; | ||
28 | @@ -404,7 +407,10 @@ uint32_t pci_data_read(void *opaque, uin | ||
29 | void pci_set_irq(PCIDevice *pci_dev, int irq_num, int level) | ||
30 | { | ||
31 | PCIBus *bus = pci_dev->bus; | ||
32 | - bus->set_irq(pci_dev, bus->irq_opaque, irq_num, level); | ||
33 | + bus->irq_count[irq_num] += level - pci_dev->irq_state[irq_num]; | ||
34 | + pci_dev->irq_state[irq_num] = level; | ||
35 | + bus->set_irq(pci_dev, bus->irq_opaque, | ||
36 | + irq_num, !!bus->irq_count[irq_num]); | ||
37 | } | ||
38 | |||
39 | /***********************************************************/ | ||
40 | diff -pNaur qemu-cvs-ts-orig/vl.h qemu-cvs-ts/vl.h | ||
41 | --- qemu-cvs-ts-orig/vl.h 2006-09-18 01:15:29.000000000 +0000 | ||
42 | +++ qemu-cvs-ts/vl.h 2006-09-23 17:15:21.000000000 +0000 | ||
43 | @@ -733,6 +733,9 @@ struct PCIDevice { | ||
44 | PCIConfigWriteFunc *config_write; | ||
45 | /* ??? This is a PC-specific hack, and should be removed. */ | ||
46 | int irq_index; | ||
47 | + | ||
48 | + /* remember last irq levels */ | ||
49 | + int irq_state[4]; | ||
50 | }; | ||
51 | |||
52 | PCIDevice *pci_register_device(PCIBus *bus, const char *name, | ||