MCPcopy Create free account
hub / github.com/F-Stack/f-stack / arm_vector_init

Function arm_vector_init

freebsd/arm/arm/machdep.c:157–181  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

155
156extern unsigned int page0[], page0_data[];
157void
158arm_vector_init(vm_offset_t va, int which)
159{
160 unsigned int *vectors = (int *) va;
161 unsigned int *vectors_data = vectors + (page0_data - page0);
162 int vec;
163
164 /*
165 * Loop through the vectors we're taking over, and copy the
166 * vector's insn and data word.
167 */
168 for (vec = 0; vec < ARM_NVEC; vec++) {
169 if ((which & (1 << vec)) == 0) {
170 /* Don't want to take over this vector. */
171 continue;
172 }
173 vectors[vec] = page0[vec];
174 vectors_data[vec] = page0_data[vec];
175 }
176
177 /* Now sync the vectors. */
178 icache_sync(va, (ARM_NVEC * 2) * sizeof(u_int));
179
180 vector_page = va;
181}
182
183static void
184cpu_startup(void *dummy)

Callers 1

initarmFunction · 0.85

Calls 1

icache_syncFunction · 0.85

Tested by

no test coverage detected