| Branch: | Revision:

root / ioport.c @ feature-archipelago

History | View | Annotate | Download (8.9 kB)

# Date Author Comment
c76bc480 10/17/2013 06:24 pm Jan Kiszka

portio: Allow to mark portio lists as coalesced MMIO flushing

This will enable us to remove all remaining explicit calls of
qemu_flush_coalesced_mmio_buffer in IO handlers.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Paolo Bonzini <>

3bb28b72 09/05/2013 07:11 pm Jan Kiszka

memory: Provide separate handling of unassigned io ports accesses

Accesses to unassigned io ports shall return -1 on read and be ignored
on write. Ensure these properties via dedicated ops, decoupling us from
the memory core's handling of unassigned accesses....

f36a6382 07/25/2013 04:12 pm Paolo Bonzini

Revert "ioport: remove LITTLE_ENDIAN mark for portio"

This reverts commit c3cb8e77804313e1be99b5f28a34a346736707a5.

The scenario where I/O ports are accessed with DEVICE_LITTLE_ENDIAN
endianness now works and will soon be unit tested. Since the PortioList...

c3cb8e77 07/12/2013 10:37 pm Anthony Liguori

ioport: remove LITTLE_ENDIAN mark for portio

Setting it to LE forces a byte swap when host != guest endian but
this makes no sense at all.

Herve made the suggestion upon observing that word writes/reads
were broken into byte writes/reads in such a way as to assume...

db10ca90 07/04/2013 06:42 pm Paolo Bonzini

piolist: add owner argument to initialization functions and pass devices

Signed-off-by: Paolo Bonzini <>

b40acf99 07/04/2013 06:42 pm Jan Kiszka

ioport: Switch dispatching to memory core layer

The current ioport dispatcher is a complex beast, mostly due to the
need to deal with old portio interface users. But we can overcome it
without converting all portio users by embedding the required base
address of a MemoryRegionPortio access into that data structure. That...

0659097d 07/04/2013 06:42 pm Jan Kiszka

ioport: Remove unused old dispatching services

Remove unused ioport_register and isa_unassign_ioport along with
everything that only those services used.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Paolo Bonzini <>

2c9b15ca 07/04/2013 06:42 pm Paolo Bonzini

memory: add owner argument to initialization functions

Signed-off-by: Paolo Bonzini <>

8ab9b418 07/04/2013 06:42 pm Jan Kiszka

Privatize register_ioport_read/write

No more users outside of ioport.c.

Signed-off-by: Jan Kiszka <>
Signed-off-by: Paolo Bonzini <>

b6f32962 07/04/2013 06:42 pm Jan Kiszka

isa: implement isa_is_ioport_assigned via memory_region_find

Open-code isa_is_ioport_assigned via a memory region lookup. As all IO
ports are now directly or indirectly registered via the memory API, this
becomes possible and will finally allow us to drop the ioport tables....

022c62cb 12/19/2012 09:31 am Paolo Bonzini

exec: move include files to include/exec/

Signed-off-by: Paolo Bonzini <>

4200872b 03/19/2012 03:17 pm Blue Swirl

ioport: use INT64_MAX for IO ranges

Expression UINT64_MAX + 1 will make the range bigger than
what can be represented with a 64 bit type. This would
trigger an assert in int128_get64() after the next patch.

Signed-off-by: Blue Swirl <>...

c5b703ac 03/05/2012 05:36 pm Avi Kivity

ioport: add destructor method to IORange

Previously all callers had a containing object with a destructor that
could be used to trigger cleanup of the IORange objects (typically
just freeing the containing object), but a forthcoming memory API
change doesn't fit this pattern. Rather than setting up a new global...

de58ac72 02/29/2012 01:44 pm Avi Kivity

ioport: change portio_list not to use memory_region_set_offset()

memory_region_set_offset() will be going away soon, so don't use it.
Use an alias instead.

Signed-off-by: Avi Kivity <>
Reviewed-by: Richard Henderson <>

6bf9fd43 10/11/2011 04:57 pm Avi Kivity

Introduce PortioList

Add a type and methods for manipulating a list of disjoint I/O ports,
used in some older hardware devices.

Based on original patch by Richard Henderson.

Signed-off-by: Richard Henderson <>
Signed-off-by: Avi Kivity <>

bf3fb0e1 07/29/2011 04:25 pm Avi Kivity

ioport: register ranges by byte aligned addresses always

The I/O port space is byte addressable, even for word and long accesses.

An example is the VMware svga card, which has long ports on offsets 0,
1, and 2.

Reviewed-by: Anthony Liguori <>...

6141dbfe 07/23/2011 06:56 pm Paolo Bonzini

report serial devices created with -device in the PIIX4 config space

Serial and parallel devices created with -device are not reported in
the PIIX4 configuration space, and are hence not picked up by the DSDT.
This upsets Windows, which hides them altogether from the guest....

f66a99d7 03/06/2011 10:01 pm Andreas Färber

ioport: Improve error output

When failing due to conflicting I/O port registrations,
include the offending I/O port address in the message.

Cc: Aurelien Jarno <>
Signed-off-by: Andreas Färber <>
Signed-off-by: Aurelien Jarno <>

acd1c812 11/21/2010 05:16 pm Avi Kivity

Type-safe ioport callbacks

The current ioport callbacks are not type-safe, in that they accept an "opaque"
pointer as an argument whose type must match the argument to the registration
function; this is not checked by the compiler.

This patch adds an alternative that is type-safe. Instead of an opaque...

bd3c9aa5 09/10/2010 12:22 am Prerna Saxena

trace: Trace port IO

Signed-off-by: Prerna Saxena

Signed-off-by: Stefan Hajnoczi <>

c227f099 10/02/2009 12:12 am Anthony Liguori

Revert "Get rid of _t suffix"

In the very least, a change like this requires discussion on the list.

The naming convention is goofy and it causes a massive merge problem. Something
like this must be presented on the list first so people can provide input...

99a0949b 10/01/2009 09:45 pm malc

Get rid of _t suffix

Some not so obvious bits, slirp and Xen were left alone for the time

Signed-off-by: malc <>

afcea8cb 09/20/2009 07:05 pm Blue Swirl

ioports: remove unused env parameter and compile only once

The CPU state parameter is not used, remove it and adjust callers. Now we
can compile ioport.c once for all targets.

Signed-off-by: Blue Swirl <>

1dde6fcc 09/06/2009 07:32 pm Blue Swirl

Make ioport default tables const

Signed-off-by: Blue Swirl <>

4a1418e0 08/24/2009 04:02 pm Anthony Liguori

Unbreak large mem support by removing kqemu

kqemu introduces a number of restrictions on the i386 target. The worst is that
it prevents large memory from working in the default build.

Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on...

07323531 07/17/2009 01:28 am Isaku Yamahata

ioport: use uint{32, 16, 8}_t for ioport value and pio_addr_t for ioport address.

Using int for cpu_{in, out}[bwl] is inconsistent with other part
because for address or value, uintN_t is used by other qemu part.
At least, softmmu, CPU{Read, Write}MemoryFunc, pci, target_phys_addr_t...

fc7083b5 07/17/2009 01:28 am Isaku Yamahata

ioport: remove some #ifdef DEBUG_UNUSED_IOPORT.

remove some #ifdef DEBUG_UNUSED_IOPORT in ioport.c
and use PRIx32 where appropriate

Signed-off-by: Isaku Yamahata <>
Cc: Anthony Liguori <>
Cc: Paolo Bonzini <>...

d56dd6cf 07/10/2009 12:06 am Isaku Yamahata

use constant IOPORTS_MASK instead of 0xffff.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>

23e0affd 07/10/2009 12:06 am Isaku Yamahata

ioport: consolidate duplicated logic in register_ioport_{read, write}().

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>

32993977 07/10/2009 12:06 am Isaku Yamahata

split out ioport related stuffs from vl.c into ioport.c.

Signed-off-by: Isaku Yamahata <>
Signed-off-by: Anthony Liguori <>