Add pcpui helpers
authorBarret Rhoden <brho@cs.berkeley.edu>
Mon, 23 Apr 2018 17:14:38 +0000 (13:14 -0400)
committerBarret Rhoden <brho@cs.berkeley.edu>
Mon, 30 Apr 2018 18:37:05 +0000 (14:37 -0400)
commitf6894089b15dd055b413f597dc04575c1c1e521c
tree74ae71949871a10dcef48b6e8b4d1b2f329613ea
parent024cba3ac7c6d7b42b9bc30f847c5017c4203063
Add pcpui helpers

This commit adds minor helpers for managing per-cpu stuff in smp.h and
shows how to use some of the helpers in syscall.c.

We have two sets of per-cpu data: pcpui (the struct in smp.h) and PER_CPU,
which uses a special section.  Both are accessed by indexing off core_id,
which isn't ideal.  Each reference is a fresh core_id() call; it's fast
(especially now) but not free.

pcpui allows for easy reuse of the pcpui pointer, but all structures need
to be in smp.h.  Perhaps both systems should use gs-relative addressing.
For now, using one of the other is just a matter of convenience.

Signed-off-by: Barret Rhoden <brho@cs.berkeley.edu>
kern/include/smp.h
kern/src/syscall.c