OSDN Git Service

q800: reimplement mac-io region aliasing using IO memory region
authorMark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Wed, 21 Jun 2023 08:53:40 +0000 (09:53 +0100)
committerLaurent Vivier <laurent@vivier.eu>
Thu, 22 Jun 2023 07:23:56 +0000 (09:23 +0200)
commitf18a2886328d92c617a08692157d2b3f68477548
tree25d9aa164a1fb1cd451706ecae33f7acfe088dd9
parent7527c52fd0472dbe06cc1f2f3b7979e202995ea2
q800: reimplement mac-io region aliasing using IO memory region

The current use of aliased memory regions causes us 2 problems: firstly the
output of "info qom-tree" is absolutely huge and difficult to read, and
secondly we have already reached the internal limit for memory regions as
adding any new memory region into the mac-io region causes QEMU to assert
with "phys_section_add: Assertion `map->sections_nb < TARGET_PAGE_SIZE'
failed".

Implement the mac-io region aliasing using a single IO memory region that
applies IO_SLICE_MASK representing the maximum size of the aliased region and
then forwarding the access to the existing mac-io memory region using the
address space API.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Message-Id: <20230621085353.113233-12-mark.cave-ayland@ilande.co.uk>
Signed-off-by: Laurent Vivier <laurent@vivier.eu>
hw/m68k/q800.c
include/hw/m68k/q800.h