ide/ioport: move ide_portio_list[] and ide_portio_list2[] definitions to IDE core
These definitions are present in ioport.c which is currently only available when CONFIG_IDE_ISA is enabled. Move them to the IDE core so that they can be made available to PCI IDE controllers that support switching to legacy mode. Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Message-ID: <20231116103355.588580-2-mark.cave-ayland@ilande.co.uk> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
8f37120383
commit
7552488444
@ -81,6 +81,18 @@ static const char *IDE_DMA_CMD_str(enum ide_dma_cmd enval)
|
|||||||
|
|
||||||
static void ide_dummy_transfer_stop(IDEState *s);
|
static void ide_dummy_transfer_stop(IDEState *s);
|
||||||
|
|
||||||
|
const MemoryRegionPortio ide_portio_list[] = {
|
||||||
|
{ 0, 8, 1, .read = ide_ioport_read, .write = ide_ioport_write },
|
||||||
|
{ 0, 1, 2, .read = ide_data_readw, .write = ide_data_writew },
|
||||||
|
{ 0, 1, 4, .read = ide_data_readl, .write = ide_data_writel },
|
||||||
|
PORTIO_END_OF_LIST(),
|
||||||
|
};
|
||||||
|
|
||||||
|
const MemoryRegionPortio ide_portio2_list[] = {
|
||||||
|
{ 0, 1, 1, .read = ide_status_read, .write = ide_ctrl_write },
|
||||||
|
PORTIO_END_OF_LIST(),
|
||||||
|
};
|
||||||
|
|
||||||
static void padstr(char *str, const char *src, int len)
|
static void padstr(char *str, const char *src, int len)
|
||||||
{
|
{
|
||||||
int i, v;
|
int i, v;
|
||||||
|
@ -28,18 +28,6 @@
|
|||||||
#include "hw/ide/internal.h"
|
#include "hw/ide/internal.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
static const MemoryRegionPortio ide_portio_list[] = {
|
|
||||||
{ 0, 8, 1, .read = ide_ioport_read, .write = ide_ioport_write },
|
|
||||||
{ 0, 1, 2, .read = ide_data_readw, .write = ide_data_writew },
|
|
||||||
{ 0, 1, 4, .read = ide_data_readl, .write = ide_data_writel },
|
|
||||||
PORTIO_END_OF_LIST(),
|
|
||||||
};
|
|
||||||
|
|
||||||
static const MemoryRegionPortio ide_portio2_list[] = {
|
|
||||||
{ 0, 1, 1, .read = ide_status_read, .write = ide_ctrl_write },
|
|
||||||
PORTIO_END_OF_LIST(),
|
|
||||||
};
|
|
||||||
|
|
||||||
int ide_init_ioport(IDEBus *bus, ISADevice *dev, int iobase, int iobase2)
|
int ide_init_ioport(IDEBus *bus, ISADevice *dev, int iobase, int iobase2)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
@ -354,6 +354,9 @@ enum ide_dma_cmd {
|
|||||||
|
|
||||||
extern const char *IDE_DMA_CMD_lookup[IDE_DMA__COUNT];
|
extern const char *IDE_DMA_CMD_lookup[IDE_DMA__COUNT];
|
||||||
|
|
||||||
|
extern const MemoryRegionPortio ide_portio_list[];
|
||||||
|
extern const MemoryRegionPortio ide_portio2_list[];
|
||||||
|
|
||||||
#define ide_cmd_is_read(s) \
|
#define ide_cmd_is_read(s) \
|
||||||
((s)->dma_cmd == IDE_DMA_READ)
|
((s)->dma_cmd == IDE_DMA_READ)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user