Gerd Hoffmann
ee6847d19b
qdev: rework device properties.
...
This patch is a major overhaul of the device properties. The properties
are saved directly in the device state struct now, the linked list of
property values is gone.
Advantages:
* We don't have to maintain the list with the property values.
* The value in the property list and the value actually used by
the device can't go out of sync any more (used to happen for
the pci.devfn == -1 case) because there is only one place where
the value is stored.
* A record describing the property is required now, you can't set
random properties any more.
There are bus-specific and device-specific properties. The former
should be used for properties common to all bus drivers. Typical
use case is bus addressing, i.e. pci.devfn and i2c.address.
Properties have a PropertyInfo struct attached with name, size and
function pointers to parse and print properties. A few common property
types have PropertyInfos defined in qdev-properties.c. Drivers are free
to implement their own very special property parsers if needed.
Properties can have default values. If unset they are zero-filled.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-07-16 17:28:51 -05:00
Blue Swirl
c70c59eeec
Sparc32: convert slavio timers to qdev
...
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-07-15 08:53:09 +00:00
Jan Kiszka
a08d43677f
Revert "Introduce reset notifier order"
...
This reverts commit 8217606e6e
(and
updates later added users of qemu_register_reset), we solved the
problem it originally addressed less invasively.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-06-29 14:18:08 -05:00
Blue Swirl
42f1ced228
Don't set IRQs on device reset and loadvm/savevm
...
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-06-17 19:23:44 +00:00
Avi Kivity
1eed09cb4a
Remove io_index argument from cpu_register_io_memory()
...
The parameter is always zero except when registering the three internal
io regions (ROM, unassigned, notdirty). Remove the parameter to reduce
the API's power, thus facilitating future change.
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-06-16 15:18:37 -05:00
Jan Kiszka
8217606e6e
Introduce reset notifier order
...
Add the parameter 'order' to qemu_register_reset and sort callbacks on
registration. On system reset, callbacks with lower order will be
invoked before those with higher order. Update all existing users to the
standard order 0.
Note: At least for x86, the existing users seem to assume that handlers
are called in their registration order. Therefore, the patch preserves
this property. If someone feels bored, (s)he could try to identify this
dependency and express it properly on callback registration.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2009-05-22 10:50:34 -05:00
Blue Swirl
001faf3269
Replace gcc variadic macro extension with C99 version
...
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
2009-05-13 17:53:17 +00:00
aliguori
487414f1cb
hw: remove error handling from qemu_malloc() callers (Avi Kivity)
...
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6529 c046a42c-6fe2-441c-8c8c-71466251a162
2009-02-05 22:06:05 +00:00
blueswir1
e64d7d595f
Remove address masking
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5853 c046a42c-6fe2-441c-8c8c-71466251a162
2008-12-02 17:47:02 +00:00
blueswir1
77f193daa8
Wrap long lines
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4440 c046a42c-6fe2-441c-8c8c-71466251a162
2008-05-12 16:13:33 +00:00
blueswir1
22548760ca
Fix compiler warnings
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4404 c046a42c-6fe2-441c-8c8c-71466251a162
2008-05-10 10:12:00 +00:00
blueswir1
389d4a259c
Remove unneeded qemu_irq_lower (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4015 c046a42c-6fe2-441c-8c8c-71466251a162
2008-03-04 20:29:03 +00:00
blueswir1
67e42751dc
Fix user timer mode change (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3933 c046a42c-6fe2-441c-8c8c-71466251a162
2008-01-26 09:13:46 +00:00
blueswir1
e1cb950242
User timer limit fixes (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3931 c046a42c-6fe2-441c-8c8c-71466251a162
2008-01-25 19:51:27 +00:00
blueswir1
7c56045670
Register only valid register access widths
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3881 c046a42c-6fe2-441c-8c8c-71466251a162
2008-01-01 17:06:38 +00:00
blueswir1
6341fdcb78
Fix CPU timer interrupts
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3876 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-29 20:09:57 +00:00
blueswir1
85e3023e2f
Remove unused timers
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3862 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-27 20:23:20 +00:00
blueswir1
3b4aa426a9
All registers are set to 0 on reset (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3841 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-19 17:59:31 +00:00
blueswir1
bd7e2875fe
Fix count calculation when counter limit set to 0 (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3840 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-19 17:58:24 +00:00
blueswir1
6240d64670
Fix setting counter limit to 0 (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3834 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-17 18:21:57 +00:00
blueswir1
19f8e5dd2b
Only create as many per CPU timers as there are CPUs. (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3833 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-17 18:17:17 +00:00
blueswir1
d2c38b24d1
Name the magic constants, wrap long lines
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3757 c046a42c-6fe2-441c-8c8c-71466251a162
2007-12-01 15:58:22 +00:00
pbrook
87ecb68bdf
Break up vl.h.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-17 17:14:51 +00:00
bellard
a702b35388
fixed invalid constant
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3610 c046a42c-6fe2-441c-8c8c-71466251a162
2007-11-11 19:47:02 +00:00
blueswir1
115646b648
More user timer fixes (Robert Reif)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3339 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-07 10:00:55 +00:00
blueswir1
f930d07eda
More detabification
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3338 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-06 11:28:21 +00:00
blueswir1
81732d1926
Implement user mode for timers
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3337 c046a42c-6fe2-441c-8c8c-71466251a162
2007-10-06 11:25:43 +00:00
ths
3b46e62427
find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in the regex.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-17 08:09:54 +00:00
ths
5fafdf24ef
find -type f | xargs sed -i 's/[\t ]$//g' # on most files
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
2007-09-16 21:08:06 +00:00
blueswir1
d7edfd2702
Use qemu_irq between interrupt controller and timers
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2874 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-27 16:37:49 +00:00
blueswir1
5aca8c3b2f
Split DMA controller in two
...
Fix register size related bugs
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2869 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-26 17:39:43 +00:00
blueswir1
8d05ea8a33
Change ptimer API to use 64-bit values, add save and load methods
...
Use ptimers for Sparc32 Slavio
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2859 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-24 19:48:41 +00:00
blueswir1
5dcb6b914e
Use full 36-bit physical address space on SS10
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2830 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-19 12:58:30 +00:00
blueswir1
31ade71508
Fix Qemu division by zero triggered by NetBSD
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2825 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-17 19:32:20 +00:00
blueswir1
3d29fbef06
Force the primary CPU to run and other CPUs to halt, recalculate timers
...
after system_reset.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2822 c046a42c-6fe2-441c-8c8c-71466251a162
2007-05-17 19:21:46 +00:00
pbrook
d537cf6c86
Unify IRQ handling.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2635 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-07 18:14:41 +00:00
blueswir1
52cc07d047
Change Sparc uses of pic_set_irq to pic_set_irq_new
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2572 c046a42c-6fe2-441c-8c8c-71466251a162
2007-04-01 16:05:41 +00:00
ths
dc3c9d213d
SlavIO Counter-Timers fix, by Aurelien Jarno.
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2516 c046a42c-6fe2-441c-8c8c-71466251a162
2007-03-20 16:54:50 +00:00
bellard
26a76461f2
C99 64 bit printf
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2018 c046a42c-6fe2-441c-8c8c-71466251a162
2006-06-25 18:15:32 +00:00
bellard
ba3c64fb47
Initial SPARC SMP support (Blue Swirl)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1694 c046a42c-6fe2-441c-8c8c-71466251a162
2005-12-05 20:31:52 +00:00
bellard
66321a11a4
sparc update (Blue Swirl)
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1350 c046a42c-6fe2-441c-8c8c-71466251a162
2005-04-06 20:47:48 +00:00
bellard
e80cfcfc88
SPARC merge
...
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1179 c046a42c-6fe2-441c-8c8c-71466251a162
2004-12-19 23:18:01 +00:00