Revision e9df014c target-ppc/translate_init.c
b/target-ppc/translate_init.c | ||
---|---|---|
35 | 35 |
uint64_t msr_mask; |
36 | 36 |
}; |
37 | 37 |
|
38 |
/* For user-mode emulation, we don't emulate any IRQ controller */ |
|
39 |
#if defined(CONFIG_USER_ONLY) |
|
40 |
#define PPC_IRQ_INIT_FN(name) \ |
|
41 |
static inline void glue(glue(ppc, name),_irq_init) (CPUPPCState *env) \ |
|
42 |
{ \ |
|
43 |
} |
|
44 |
#else |
|
45 |
#define PPC_IRQ_INIT_FN(name) \ |
|
46 |
void glue(glue(ppc, name),_irq_init) (CPUPPCState *env); |
|
47 |
#endif |
|
48 |
PPC_IRQ_INIT_FN(6xx); |
|
49 |
|
|
38 | 50 |
/* Generic callbacks: |
39 | 51 |
* do nothing but store/retrieve spr value |
40 | 52 |
*/ |
... | ... | |
1865 | 1877 |
env->nb_tlb = 64; |
1866 | 1878 |
env->nb_ways = 1; |
1867 | 1879 |
env->id_tlbs = 0; |
1880 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1868 | 1881 |
break; |
1869 | 1882 |
|
1870 | 1883 |
case CPU_PPC_403GA: /* 403 GA family */ |
... | ... | |
1879 | 1892 |
env->nb_tlb = 64; |
1880 | 1893 |
env->nb_ways = 1; |
1881 | 1894 |
env->id_tlbs = 0; |
1895 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1882 | 1896 |
break; |
1883 | 1897 |
|
1884 | 1898 |
case CPU_PPC_405CR: /* 405 GP/CR family */ |
... | ... | |
1895 | 1909 |
env->nb_tlb = 64; |
1896 | 1910 |
env->nb_ways = 1; |
1897 | 1911 |
env->id_tlbs = 0; |
1912 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1898 | 1913 |
break; |
1899 | 1914 |
|
1900 | 1915 |
case CPU_PPC_NPE405H: /* NPe405 H family */ |
... | ... | |
1909 | 1924 |
env->nb_tlb = 64; |
1910 | 1925 |
env->nb_ways = 1; |
1911 | 1926 |
env->id_tlbs = 0; |
1927 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1912 | 1928 |
break; |
1913 | 1929 |
|
1914 | 1930 |
#if defined (TODO) |
... | ... | |
1940 | 1956 |
env->nb_tlb = 64; |
1941 | 1957 |
env->nb_ways = 1; |
1942 | 1958 |
env->id_tlbs = 0; |
1959 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1943 | 1960 |
break; |
1944 | 1961 |
|
1945 | 1962 |
case CPU_PPC_440EP: /* 440 EP family */ |
... | ... | |
1959 | 1976 |
env->nb_tlb = 64; |
1960 | 1977 |
env->nb_ways = 1; |
1961 | 1978 |
env->id_tlbs = 0; |
1979 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1962 | 1980 |
break; |
1963 | 1981 |
|
1964 | 1982 |
/* Embedded PowerPC from Freescale */ |
... | ... | |
1994 | 2012 |
env->nb_tlb = 64; |
1995 | 2013 |
env->nb_ways = 1; |
1996 | 2014 |
env->id_tlbs = 0; |
2015 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
1997 | 2016 |
break; |
1998 | 2017 |
|
1999 | 2018 |
#if defined (TODO) |
... | ... | |
2038 | 2057 |
env->nb_ways = 2; |
2039 | 2058 |
env->id_tlbs = 0; |
2040 | 2059 |
env->id_tlbs = 0; |
2060 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
2041 | 2061 |
break; |
2042 | 2062 |
|
2043 | 2063 |
case CPU_PPC_602: /* PowerPC 602 */ |
... | ... | |
2060 | 2080 |
SPR_NOACCESS, SPR_NOACCESS, |
2061 | 2081 |
&spr_read_generic, &spr_write_generic, |
2062 | 2082 |
0x00000000); |
2083 |
/* Allocate hardware IRQ controller */ |
|
2084 |
ppc6xx_irq_init(env); |
|
2063 | 2085 |
break; |
2064 | 2086 |
|
2065 | 2087 |
case CPU_PPC_603: /* PowerPC 603 */ |
... | ... | |
2087 | 2109 |
SPR_NOACCESS, SPR_NOACCESS, |
2088 | 2110 |
&spr_read_generic, &spr_write_generic, |
2089 | 2111 |
0x00000000); |
2112 |
/* Allocate hardware IRQ controller */ |
|
2113 |
ppc6xx_irq_init(env); |
|
2090 | 2114 |
break; |
2091 | 2115 |
|
2092 | 2116 |
case CPU_PPC_G2: /* PowerPC G2 family */ |
... | ... | |
2123 | 2147 |
SPR_NOACCESS, SPR_NOACCESS, |
2124 | 2148 |
&spr_read_generic, &spr_write_generic, |
2125 | 2149 |
0x00000000); |
2150 |
/* Allocate hardware IRQ controller */ |
|
2151 |
ppc6xx_irq_init(env); |
|
2126 | 2152 |
break; |
2127 | 2153 |
|
2128 | 2154 |
case CPU_PPC_604: /* PowerPC 604 */ |
... | ... | |
2146 | 2172 |
SPR_NOACCESS, SPR_NOACCESS, |
2147 | 2173 |
&spr_read_generic, &spr_write_generic, |
2148 | 2174 |
0x00000000); |
2175 |
/* Allocate hardware IRQ controller */ |
|
2176 |
ppc6xx_irq_init(env); |
|
2149 | 2177 |
break; |
2150 | 2178 |
|
2151 | 2179 |
case CPU_PPC_74x: /* PowerPC 740 / 750 */ |
... | ... | |
2178 | 2206 |
SPR_NOACCESS, SPR_NOACCESS, |
2179 | 2207 |
&spr_read_generic, &spr_write_generic, |
2180 | 2208 |
0x00000000); |
2209 |
/* Allocate hardware IRQ controller */ |
|
2210 |
ppc6xx_irq_init(env); |
|
2181 | 2211 |
break; |
2182 | 2212 |
|
2183 | 2213 |
case CPU_PPC_750FX10: /* IBM PowerPC 750 FX */ |
... | ... | |
2213 | 2243 |
SPR_NOACCESS, SPR_NOACCESS, |
2214 | 2244 |
&spr_read_generic, &spr_write_generic, |
2215 | 2245 |
0x00000000); |
2246 |
/* Allocate hardware IRQ controller */ |
|
2247 |
ppc6xx_irq_init(env); |
|
2216 | 2248 |
break; |
2217 | 2249 |
|
2218 | 2250 |
case CPU_PPC_755_10: /* PowerPC 755 */ |
... | ... | |
2257 | 2289 |
SPR_NOACCESS, SPR_NOACCESS, |
2258 | 2290 |
&spr_read_generic, &spr_write_generic, |
2259 | 2291 |
0x00000000); |
2292 |
/* Allocate hardware IRQ controller */ |
|
2293 |
ppc6xx_irq_init(env); |
|
2260 | 2294 |
break; |
2261 | 2295 |
|
2262 | 2296 |
#if defined (TODO) |
... | ... | |
2326 | 2360 |
|
2327 | 2361 |
default: |
2328 | 2362 |
gen_spr_generic(env); |
2363 |
/* XXX: TODO: allocate internal IRQ controller */ |
|
2329 | 2364 |
break; |
2330 | 2365 |
} |
2331 | 2366 |
if (env->nb_BATs == -1) |
Also available in: Unified diff