| @@ -1,14 +1,14 @@ | | | @@ -1,14 +1,14 @@ |
1 | /* $NetBSD: cpu.h,v 1.66 2011/02/07 12:19:35 skrll Exp $ */ | | 1 | /* $NetBSD: cpu.h,v 1.67 2012/01/20 06:50:00 skrll Exp $ */ |
2 | | | 2 | |
3 | /* $OpenBSD: cpu.h,v 1.55 2008/07/23 17:39:35 kettenis Exp $ */ | | 3 | /* $OpenBSD: cpu.h,v 1.55 2008/07/23 17:39:35 kettenis Exp $ */ |
4 | | | 4 | |
5 | /* | | 5 | /* |
6 | * Copyright (c) 2000-2004 Michael Shalayeff | | 6 | * Copyright (c) 2000-2004 Michael Shalayeff |
7 | * All rights reserved. | | 7 | * All rights reserved. |
8 | * | | 8 | * |
9 | * Redistribution and use in source and binary forms, with or without | | 9 | * Redistribution and use in source and binary forms, with or without |
10 | * modification, are permitted provided that the following conditions | | 10 | * modification, are permitted provided that the following conditions |
11 | * are met: | | 11 | * are met: |
12 | * 1. Redistributions of source code must retain the above copyright | | 12 | * 1. Redistributions of source code must retain the above copyright |
13 | * notice, this list of conditions and the following disclaimer. | | 13 | * notice, this list of conditions and the following disclaimer. |
14 | * 2. Redistributions in binary form must reproduce the above copyright | | 14 | * 2. Redistributions in binary form must reproduce the above copyright |
| @@ -243,26 +243,27 @@ int clock_intr(void *); | | | @@ -243,26 +243,27 @@ int clock_intr(void *); |
243 | | | 243 | |
244 | #endif /* _KERNEL */ | | 244 | #endif /* _KERNEL */ |
245 | | | 245 | |
246 | #if defined(_KERNEL) || defined(_KMEMUSER) | | 246 | #if defined(_KERNEL) || defined(_KMEMUSER) |
247 | | | 247 | |
248 | #include <sys/cpu_data.h> | | 248 | #include <sys/cpu_data.h> |
249 | | | 249 | |
250 | /* | | 250 | /* |
251 | * Note that the alignment of ci_trap_save is important since we want to keep | | 251 | * Note that the alignment of ci_trap_save is important since we want to keep |
252 | * it within a single cache line. As a result, it must be kept as the first | | 252 | * it within a single cache line. As a result, it must be kept as the first |
253 | * entry within the cpu_info struct. | | 253 | * entry within the cpu_info struct. |
254 | */ | | 254 | */ |
255 | struct cpu_info { | | 255 | struct cpu_info { |
| | | 256 | /* Keep this first to simplify the trap handlers */ |
256 | register_t ci_trapsave[16];/* the "phys" part of frame */ | | 257 | register_t ci_trapsave[16];/* the "phys" part of frame */ |
257 | | | 258 | |
258 | struct cpu_data ci_data; /* MI per-cpu data */ | | 259 | struct cpu_data ci_data; /* MI per-cpu data */ |
259 | | | 260 | |
260 | #ifndef _KMEMUSER | | 261 | #ifndef _KMEMUSER |
261 | int ci_cpuid; /* CPU index (see cpus[] array) */ | | 262 | int ci_cpuid; /* CPU index (see cpus[] array) */ |
262 | int ci_mtx_count; | | 263 | int ci_mtx_count; |
263 | int ci_mtx_oldspl; | | 264 | int ci_mtx_oldspl; |
264 | int ci_want_resched; | | 265 | int ci_want_resched; |
265 | | | 266 | |
266 | volatile int ci_cpl; | | 267 | volatile int ci_cpl; |
267 | volatile int ci_ipending; /* The pending interrupts. */ | | 268 | volatile int ci_ipending; /* The pending interrupts. */ |
268 | u_int ci_intr_depth; /* Nonzero iff running an interrupt. */ | | 269 | u_int ci_intr_depth; /* Nonzero iff running an interrupt. */ |