1 /* $NetBSD: autoconf.h,v 1.19 2024/03/05 14:15:33 thorpej Exp $ */ 2 3 #ifndef _OFPPC_AUTOCONF_H_ 4 #define _OFPPC_AUTOCONF_H_ 5 6 #include <sys/bus.h> 7 8 #include <prop/proplib.h> 9 10 struct confargs { 11 const char *ca_name; 12 u_int ca_node; 13 int ca_nreg; 14 u_int *ca_reg; 15 int ca_nintr; 16 int *ca_intr; 17 18 bus_addr_t ca_baseaddr; 19 bus_space_tag_t ca_tag; 20 }; 21 22 struct pciio_info { 23 uint32_t start; 24 uint32_t limit; 25 }; 26 27 /* to support machines with more than 4 busses, change the below */ 28 #define MAX_PCI_BUSSES 4 29 struct model_data { 30 int ranges_offset; 31 struct pciio_info pciiodata[MAX_PCI_BUSSES]; 32 }; 33 34 extern int console_node; 35 extern int ofw_quiesce; /* XXX not used at the moment */ 36 extern char model_name[64]; 37 38 #ifdef _KERNEL 39 void initppc(u_int, u_int, char *); 40 void strayintr(int); 41 void dumpsys(void); 42 43 void cpu_initclocks(void); 44 void decr_intr(struct clockframe *); 45 void setstatclockrate(int); 46 void init_interrupt(void); 47 void init_ofppc_interrupt(void); 48 void ofppc_init_comcons(int); 49 void copy_disp_props(device_t, int, prop_dictionary_t); 50 51 void OF_start_cpu(int, u_int, int); 52 53 int rascons_cnattach(void); 54 #endif /* _KERNEL */ 55 56 #endif /* _OFPPC_AUTOCONF_H_ */ 57