summaryrefslogtreecommitdiffstats
path: root/hw/iommu.c
Commit message (Collapse)AuthorAgeFilesLines
* Sparc32: move device instantiation to sun4m.cBlue Swirl2009-08-081-18/+0Star
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Sparc32: use hex for version numbersBlue Swirl2009-07-171-1/+1
| | | | | | 0x10000000 looks better than 268435456. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* qdev: rework device properties.Gerd Hoffmann2009-07-171-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Sparc32: convert iommu to qdevBlue Swirl2009-07-161-11/+45
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Revert "Introduce reset notifier order"Jan Kiszka2009-06-291-1/+1
| | | | | | | | | This reverts commit 8217606e6edb49591b4a6fd5a0d1229cebe470a9 (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>
* Don't set IRQs on device reset and loadvm/savevmBlue Swirl2009-06-171-1/+0Star
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* Remove io_index argument from cpu_register_io_memory()Avi Kivity2009-06-161-1/+1
| | | | | | | | | 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>
* Introduce reset notifier orderJan Kiszka2009-05-221-1/+1
| | | | | | | | | | | | | | | 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>
* Replace gcc variadic macro extension with C99 versionBlue Swirl2009-05-131-3/+3
| | | | Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
* hw: remove error handling from qemu_malloc() callers (Avi Kivity)aliguori2009-02-051-2/+0Star
| | | | | | | | 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
* add Arbiter Enable Register support to sparc iommu (Robert Reif)blueswir12008-12-211-0/+17
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6118 c046a42c-6fe2-441c-8c8c-71466251a162
* More consistent PAGE_xxx defines, avoid conflicting with system PAGE_xxxblueswir12008-12-031-7/+7
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5863 c046a42c-6fe2-441c-8c8c-71466251a162
* Change MMIO callbacks to use offsets, not absolute addresses.pbrook2008-12-011-4/+2Star
| | | | | | | Signed-off-by: Paul Brook <paul@codesourcery.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5849 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix DMA length bug seen with NetBSD (Cliff Wright)blueswir12008-07-011-2/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4816 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix compiler warningsblueswir12008-05-101-3/+2Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4404 c046a42c-6fe2-441c-8c8c-71466251a162
* Add TurboSPARC mask ID register (Robert Reif)blueswir12008-01-251-1/+11
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3932 c046a42c-6fe2-441c-8c8c-71466251a162
* Register only valid register access widthsblueswir12008-01-011-8/+8
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3881 c046a42c-6fe2-441c-8c8c-71466251a162
* DVMA translation errors raise a module error irq (NMI)blueswir12008-01-011-4/+19
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3880 c046a42c-6fe2-441c-8c8c-71466251a162
* Allow IOMMU tables above 2Gblueswir12007-12-011-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3753 c046a42c-6fe2-441c-8c8c-71466251a162
* Prevent overwriting fixed bits in AFSRblueswir12007-12-011-0/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3752 c046a42c-6fe2-441c-8c8c-71466251a162
* Name the magic constants, wrap long linesblueswir12007-12-011-12/+20
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3751 c046a42c-6fe2-441c-8c8c-71466251a162
* Set initial value of AFSR register properly (Robert Reif)blueswir12007-11-251-0/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3739 c046a42c-6fe2-441c-8c8c-71466251a162
* Break up vl.h.pbrook2007-11-171-1/+2
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3674 c046a42c-6fe2-441c-8c8c-71466251a162
* Machine specific IOMMU version (Robert Reif)blueswir12007-11-171-4/+7
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3664 c046a42c-6fe2-441c-8c8c-71466251a162
* More detabificationblueswir12007-10-061-50/+50
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3338 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix breakage on big endian hosts (Aurelien Jarno)blueswir12007-09-221-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3206 c046a42c-6fe2-441c-8c8c-71466251a162
* Change ldl_phys to cpu_physical_memory_read, fix pte addressblueswir12007-09-201-4/+6
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3197 c046a42c-6fe2-441c-8c8c-71466251a162
* find -type f | xargs sed -i 's/[\t ]*$//g' # Yes, again. Note the star in ↵ths2007-09-171-3/+3
| | | | | | the regex. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3177 c046a42c-6fe2-441c-8c8c-71466251a162
* find -type f | xargs sed -i 's/[\t ]$//g' # on most filesths2007-09-161-4/+4
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3173 c046a42c-6fe2-441c-8c8c-71466251a162
* Log invalid accesses (no faults generated yet)blueswir12007-08-111-2/+30
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3115 c046a42c-6fe2-441c-8c8c-71466251a162
* Improve iommu debugging, use register namesblueswir12007-08-111-7/+14
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3114 c046a42c-6fe2-441c-8c8c-71466251a162
* Fix loadvmblueswir12007-07-031-1/+1
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3044 c046a42c-6fe2-441c-8c8c-71466251a162
* Use full 36-bit physical address space on SS10blueswir12007-05-191-27/+31
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2830 c046a42c-6fe2-441c-8c8c-71466251a162
* Separate the DMA controllers - Convert ESP to new DMA methods (Blue Swirl)bellard2006-09-031-10/+2Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2143 c046a42c-6fe2-441c-8c8c-71466251a162
* SCSI TCQ support.pbrook2006-08-291-5/+46
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2139 c046a42c-6fe2-441c-8c8c-71466251a162
* endianness fixbellard2005-10-301-2/+1Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1586 c046a42c-6fe2-441c-8c8c-71466251a162
* sparc merge (Blue Swirl)bellard2005-10-301-3/+55
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1578 c046a42c-6fe2-441c-8c8c-71466251a162
* sparc update (Blue Swirl)bellard2005-04-061-72/+25Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1350 c046a42c-6fe2-441c-8c8c-71466251a162
* SPARC mergebellard2004-12-201-9/+45
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1179 c046a42c-6fe2-441c-8c8c-71466251a162
* sparc merge (Blue Swirl)bellard2004-10-041-43/+40Star
| | | | git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1098 c046a42c-6fe2-441c-8c8c-71466251a162
* full system SPARC emulation (Blue Swirl)bellard2004-10-011-0/+221
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1085 c046a42c-6fe2-441c-8c8c-71466251a162