1 /* 2 * include/asm-mips/vector.h 3 * 4 * This file is subject to the terms and conditions of the GNU General Public 5 * License. See the file "COPYING" in the main directory of this archive 6 * for more details. 7 * 8 * Copyright (C) 1995 by Ralf Baechle 9 */ 10 #ifndef__ASM_MIPS_VECTOR_H 11 #define__ASM_MIPS_VECTOR_H 12
13 /* 14 * This structure defines how to access various features of 15 * different machine types and how to access them. 16 * 17 * FIXME: More things need to be accessed via this vector. 18 */ 19 structfeature{ 20 void (*handle_int)(void);
21 /* 22 * How to access the floppy controller's ports. 23 */ 24 unsignedchar (*fd_inb)(unsignedintport);
25 void (*fd_outb)(unsignedcharvalue, unsignedintport);
26 /* 27 * How to access the floppy DMA functions. 28 */ 29 void (*fd_enable_dma)(void);
30 void (*fd_disable_dma)(void);
31 int (*fd_request_dma)(void);
32 void (*fd_free_dma)(void);
33 void (*fd_clear_dma_ff)(void);
34 void (*fd_set_dma_mode)(charmode);
35 void (*fd_set_dma_addr)(unsignedinta);
36 void (*fd_set_dma_count)(unsignedintcount);
37 int (*fd_get_dma_residue)(void);
38 void (*fd_enable_irq)(void);
39 void (*fd_disable_irq)(void);
40 void (*fd_cacheflush)(unsignedchar *addr, unsignedintsize);
41 /* 42 * How to access the RTC register of DS1287 43 */ 44 unsignedchar (*rtc_read_data)(void);
45 void (*rtc_write_data)(unsignedchar);
46 };
47
48 /* 49 * Similar to the above this is a structure that describes various 50 * CPU dependend features. 51 * 52 * FIXME: This vector isn't being used yet 53 */ 54 structcpu{ 55 intdummy; /* keep GCC from complaining */ 56 };
57
58 externstructfeature *feature;
59 externstructcpu *cpu;
60
61 #endif/* __ASM_MIPS_VECTOR_H */