 55f613ac25
			
		
	
	
		55f613ac25
		
	
	
	
	
		
			
			- Move the header from hw/isa/ to hw/dma/ - Remove the old i386/pc dependency - use a bool type for the high_page_enable argument Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20180308223946.26784-3-f4bug@amsat.org> Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
		
			
				
	
	
		
			50 lines
		
	
	
		
			909 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			909 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef HW_I8257_H
 | |
| #define HW_I8257_H
 | |
| 
 | |
| #include "hw/hw.h"
 | |
| #include "hw/isa/isa.h"
 | |
| #include "exec/ioport.h"
 | |
| 
 | |
| #define TYPE_I8257 "i8257"
 | |
| 
 | |
| typedef struct I8257Regs {
 | |
|     int now[2];
 | |
|     uint16_t base[2];
 | |
|     uint8_t mode;
 | |
|     uint8_t page;
 | |
|     uint8_t pageh;
 | |
|     uint8_t dack;
 | |
|     uint8_t eop;
 | |
|     IsaDmaTransferHandler transfer_handler;
 | |
|     void *opaque;
 | |
| } I8257Regs;
 | |
| 
 | |
| typedef struct I8257State {
 | |
|     /* <private> */
 | |
|     ISADevice parent_obj;
 | |
| 
 | |
|     /* <public> */
 | |
|     int32_t base;
 | |
|     int32_t page_base;
 | |
|     int32_t pageh_base;
 | |
|     int32_t dshift;
 | |
| 
 | |
|     uint8_t status;
 | |
|     uint8_t command;
 | |
|     uint8_t mask;
 | |
|     uint8_t flip_flop;
 | |
|     I8257Regs regs[4];
 | |
|     MemoryRegion channel_io;
 | |
|     MemoryRegion cont_io;
 | |
| 
 | |
|     QEMUBH *dma_bh;
 | |
|     bool dma_bh_scheduled;
 | |
|     int running;
 | |
|     PortioList portio_page;
 | |
|     PortioList portio_pageh;
 | |
| } I8257State;
 | |
| 
 | |
| void i8257_dma_init(ISABus *bus, bool high_page_enable);
 | |
| 
 | |
| #endif
 |