 376253ece4
			
		
	
	
		376253ece4
		
	
	
	
	
		
			
			Refactor the monitor API and prepare it for decoupled terminals: term_print functions are renamed to monitor_* and all monitor services gain a new parameter (mon) that will once refer to the monitor instance the output is supposed to appear on. However, the argument remains unused for now. All monitor command callbacks are also extended by a mon parameter so that command handlers are able to pass an appropriate reference to monitor output services. For the case that monitor outputs so far happen without clearly identifiable context, the global variable cur_mon is introduced that shall once provide a pointer either to the current active monitor (while processing commands) or to the default one. On the mid or long term, those use case will be obsoleted so that this variable can be removed again. Due to the broad usage of the monitor interface, this patch mostly deals with converting users of the monitor API. A few of them are already extended to pass 'mon' from the command handler further down to internal functions that invoke monitor_printf. At this chance, monitor-related prototypes are moved from console.h to a new monitor.h. The same is done for the readline API. Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6711 c046a42c-6fe2-441c-8c8c-71466251a162
		
			
				
	
	
		
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* PCMCIA/Cardbus */
 | |
| 
 | |
| #include "qemu-common.h"
 | |
| 
 | |
| struct pcmcia_socket_s {
 | |
|     qemu_irq irq;
 | |
|     int attached;
 | |
|     const char *slot_string;
 | |
|     const char *card_string;
 | |
| };
 | |
| 
 | |
| void pcmcia_socket_register(struct pcmcia_socket_s *socket);
 | |
| void pcmcia_socket_unregister(struct pcmcia_socket_s *socket);
 | |
| void pcmcia_info(Monitor *mon);
 | |
| 
 | |
| struct pcmcia_card_s {
 | |
|     void *state;
 | |
|     struct pcmcia_socket_s *slot;
 | |
|     int (*attach)(void *state);
 | |
|     int (*detach)(void *state);
 | |
|     const uint8_t *cis;
 | |
|     int cis_len;
 | |
| 
 | |
|     /* Only valid if attached */
 | |
|     uint8_t (*attr_read)(void *state, uint32_t address);
 | |
|     void (*attr_write)(void *state, uint32_t address, uint8_t value);
 | |
|     uint16_t (*common_read)(void *state, uint32_t address);
 | |
|     void (*common_write)(void *state, uint32_t address, uint16_t value);
 | |
|     uint16_t (*io_read)(void *state, uint32_t address);
 | |
|     void (*io_write)(void *state, uint32_t address, uint16_t value);
 | |
| };
 | |
| 
 | |
| #define CISTPL_DEVICE		0x01	/* 5V Device Information Tuple */
 | |
| #define CISTPL_NO_LINK		0x14	/* No Link Tuple */
 | |
| #define CISTPL_VERS_1		0x15	/* Level 1 Version Tuple */
 | |
| #define CISTPL_JEDEC_C		0x18	/* JEDEC ID Tuple */
 | |
| #define CISTPL_JEDEC_A		0x19	/* JEDEC ID Tuple */
 | |
| #define CISTPL_CONFIG		0x1a	/* Configuration Tuple */
 | |
| #define CISTPL_CFTABLE_ENTRY	0x1b	/* 16-bit PCCard Configuration */
 | |
| #define CISTPL_DEVICE_OC	0x1c	/* Additional Device Information */
 | |
| #define CISTPL_DEVICE_OA	0x1d	/* Additional Device Information */
 | |
| #define CISTPL_DEVICE_GEO	0x1e	/* Additional Device Information */
 | |
| #define CISTPL_DEVICE_GEO_A	0x1f	/* Additional Device Information */
 | |
| #define CISTPL_MANFID		0x20	/* Manufacture ID Tuple */
 | |
| #define CISTPL_FUNCID		0x21	/* Function ID Tuple */
 | |
| #define CISTPL_FUNCE		0x22	/* Function Extension Tuple */
 | |
| #define CISTPL_END		0xff	/* Tuple End */
 | |
| #define CISTPL_ENDMARK		0xff
 | |
| 
 | |
| /* dscm1xxxx.c */
 | |
| struct pcmcia_card_s *dscm1xxxx_init(BlockDriverState *bdrv);
 |