mirror of https://github.com/xemu-project/xemu.git
exec/ioport: Add portio_list_set_enabled()
Some SuperI/O devices such as the VIA south bridges or the PC87312 controller allow to enable or disable their SuperI/O functions. Add a convenience function for implementing this in the VIA south bridges. The naming of the functions is inspired by its memory_region_set_enabled() pendant. Signed-off-by: Bernhard Beschow <shentey@gmail.com> Message-Id: <20240114123911.4877-7-shentey@gmail.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
ad2b652341
commit
f165cdf102
|
@ -444,6 +444,7 @@ Examples of such API functions are:
|
||||||
- memory_region_set_address()
|
- memory_region_set_address()
|
||||||
- memory_region_set_alias_offset()
|
- memory_region_set_alias_offset()
|
||||||
- portio_list_set_address()
|
- portio_list_set_address()
|
||||||
|
- portio_list_set_enabled()
|
||||||
|
|
||||||
Iterative device migration
|
Iterative device migration
|
||||||
--------------------------
|
--------------------------
|
||||||
|
|
|
@ -71,6 +71,7 @@ void portio_list_add(PortioList *piolist,
|
||||||
struct MemoryRegion *address_space,
|
struct MemoryRegion *address_space,
|
||||||
uint32_t addr);
|
uint32_t addr);
|
||||||
void portio_list_del(PortioList *piolist);
|
void portio_list_del(PortioList *piolist);
|
||||||
|
void portio_list_set_enabled(PortioList *piolist, bool enabled);
|
||||||
void portio_list_set_address(PortioList *piolist, uint32_t addr);
|
void portio_list_set_address(PortioList *piolist, uint32_t addr);
|
||||||
|
|
||||||
#endif /* IOPORT_H */
|
#endif /* IOPORT_H */
|
||||||
|
|
|
@ -324,6 +324,15 @@ void portio_list_del(PortioList *piolist)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void portio_list_set_enabled(PortioList *piolist, bool enabled)
|
||||||
|
{
|
||||||
|
unsigned i;
|
||||||
|
|
||||||
|
for (i = 0; i < piolist->nr; ++i) {
|
||||||
|
memory_region_set_enabled(piolist->regions[i], enabled);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void portio_list_set_address(PortioList *piolist, uint32_t addr)
|
void portio_list_set_address(PortioList *piolist, uint32_t addr)
|
||||||
{
|
{
|
||||||
MemoryRegionPortioList *mrpio;
|
MemoryRegionPortioList *mrpio;
|
||||||
|
|
Loading…
Reference in New Issue