diff options
author | marcel <marcel@FreeBSD.org> | 2009-12-07 06:41:27 +0000 |
---|---|---|
committer | marcel <marcel@FreeBSD.org> | 2009-12-07 06:41:27 +0000 |
commit | 2a4cc74b50f5931f03bb1e2237d31a20bdbebc1a (patch) | |
tree | 36aeb994a1586d01cb3848cf269e990f35a8e54f /sys/ia64/include | |
parent | 2f3558914cdb07151a0b63df1a47fdc96ecb477e (diff) | |
download | FreeBSD-src-2a4cc74b50f5931f03bb1e2237d31a20bdbebc1a.zip FreeBSD-src-2a4cc74b50f5931f03bb1e2237d31a20bdbebc1a.tar.gz |
Define struct pcpu_md as the only MD field of struct pcpu (pc_acpi_id
excluded, as it's used by MI code) and mode the sysctl variables from
pcpu_stats to pcpu_md.
Adjust all references accordingly.
While nearby, change the PCPU sysctl tree so that they match the CPU
device sysctl tree -- they are now children of a static node called
"machdep.cpu" and are named only with their cpu ID.
Diffstat (limited to 'sys/ia64/include')
-rw-r--r-- | sys/ia64/include/kdb.h | 2 | ||||
-rw-r--r-- | sys/ia64/include/pcpu.h | 23 |
2 files changed, 14 insertions, 11 deletions
diff --git a/sys/ia64/include/kdb.h b/sys/ia64/include/kdb.h index d8a12e0..8a9cc3a 100644 --- a/sys/ia64/include/kdb.h +++ b/sys/ia64/include/kdb.h @@ -33,7 +33,7 @@ #include <machine/frame.h> #include <machine/ia64_cpu.h> -#define KDB_STOPPEDPCB(pc) (&(pc)->pc_pcb) +#define KDB_STOPPEDPCB(pc) (&(pc)->pc_md.pcb) static __inline void kdb_cpu_clear_singlestep(void) diff --git a/sys/ia64/include/pcpu.h b/sys/ia64/include/pcpu.h index c6c999b..bc9fe08 100644 --- a/sys/ia64/include/pcpu.h +++ b/sys/ia64/include/pcpu.h @@ -43,23 +43,26 @@ struct pcpu_stats { u_long pcs_nrdvs; /* IPI_RENDEZVOUS counter. */ u_long pcs_nstops; /* IPI_STOP counter. */ u_long pcs_nstrays; /* Stray interrupt counter. */ +}; +struct pcpu_md { + struct pcb pcb; /* Used by IPI_STOP */ + struct pmap *current_pmap; /* active pmap */ + vm_offset_t vhpt; /* Address of VHPT */ + uint64_t lid; /* local CPU ID */ + uint64_t clock; /* Clock counter. */ + uint64_t clockadj; /* Clock adjust. */ + uint32_t awake:1; /* CPU is awake? */ + struct pcpu_stats stats; /* Interrupt stats. */ #ifdef _KERNEL - struct sysctl_ctx_list pcs_sysctl_ctx; - struct sysctl_oid *pcs_sysctl_tree; + struct sysctl_ctx_list sysctl_ctx; + struct sysctl_oid *sysctl_tree; #endif }; #define PCPU_MD_FIELDS \ - struct pcb pc_pcb; /* Used by IPI_STOP */ \ - struct pmap *pc_current_pmap; /* active pmap */ \ - vm_offset_t pc_vhpt; /* Address of VHPT */ \ - uint64_t pc_lid; /* local CPU ID */ \ - uint64_t pc_clock; /* Clock counter. */ \ - uint64_t pc_clockadj; /* Clock adjust. */ \ - uint32_t pc_awake:1; /* CPU is awake? */ \ uint32_t pc_acpi_id; /* ACPI CPU id. */ \ - struct pcpu_stats pc_stats + struct pcpu_md pc_md /* MD fields. */ #ifdef _KERNEL |