aboutsummaryrefslogtreecommitdiff
path: root/sys/amd64/include/pcpu.h
diff options
context:
space:
mode:
authorPeter Wemm <peter@FreeBSD.org>2003-11-17 08:58:16 +0000
committerPeter Wemm <peter@FreeBSD.org>2003-11-17 08:58:16 +0000
commit0d2a2989048c676030afdcf7ba3aae9713738395 (patch)
treeaabbe8bf492a150ee82a721cb9396dd2a5b08c50 /sys/amd64/include/pcpu.h
parentfa9c971710f334618da92e9feb0cd4be6818bf55 (diff)
downloadsrc-0d2a2989048c676030afdcf7ba3aae9713738395.tar.gz
src-0d2a2989048c676030afdcf7ba3aae9713738395.zip
Initial landing of SMP support for FreeBSD/amd64.
- This is heavily derived from John Baldwin's apic/pci cleanup on i386. - I have completely rewritten or drastically cleaned up some other parts. (in particular, bootstrap) - This is still a WIP. It seems that there are some highly bogus bioses on nVidia nForce3-150 boards. I can't stress how broken these boards are. I have a workaround in mind, but right now the Asus SK8N is broken. The Gigabyte K8NPro (nVidia based) is also mind-numbingly hosed. - Most of my testing has been with SCHED_ULE. SCHED_4BSD works. - the apic and acpi components are 'standard'. - If you have an nVidia nForce3-150 board, you are stuck with 'device atpic' in addition, because they somehow managed to forget to connect the 8254 timer to the apic, even though its in the same silicon! ARGH! This directly violates the ACPI spec.
Notes
Notes: svn path=/head/; revision=122849
Diffstat (limited to 'sys/amd64/include/pcpu.h')
-rw-r--r--sys/amd64/include/pcpu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/amd64/include/pcpu.h b/sys/amd64/include/pcpu.h
index 7ebfbbaa37b0..9e0383a8f0a7 100644
--- a/sys/amd64/include/pcpu.h
+++ b/sys/amd64/include/pcpu.h
@@ -40,7 +40,11 @@
*/
#define PCPU_MD_FIELDS \
struct pcpu *pc_prvspace; /* Self-reference */ \
+ struct pmap *pc_curpmap; \
+ struct amd64tss *pc_tssp; \
+ register_t pc_rsp0; \
register_t pc_scratch_rsp; /* User %rsp in syscall */ \
+ u_int pc_apic_id; \
u_int pc_acpi_id /* ACPI CPU id */
#if defined(lint)