summaryrefslogtreecommitdiffstats
path: root/sys/arch/powerpc64/include
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2020-08-17 16:55:41 +0000
committerkettenis <kettenis@openbsd.org>2020-08-17 16:55:41 +0000
commit3d73cff41e6a3d60bea06fb1ae581db81112f85c (patch)
tree57ddc8c29eb2e96e93416491c36948d02309df27 /sys/arch/powerpc64/include
parentFix possible leak of ocsp_id. (diff)
downloadwireguard-openbsd-3d73cff41e6a3d60bea06fb1ae581db81112f85c.tar.xz
wireguard-openbsd-3d73cff41e6a3d60bea06fb1ae581db81112f85c.zip
Switch to a per-proc SLB cache. Seems to make GENERIC.MP kernels
(much more) stable. Probably because we could restore an incoherent SLB cache since there was no locking in the trap return path.
Diffstat (limited to 'sys/arch/powerpc64/include')
-rw-r--r--sys/arch/powerpc64/include/pcb.h4
-rw-r--r--sys/arch/powerpc64/include/pmap.h3
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/arch/powerpc64/include/pcb.h b/sys/arch/powerpc64/include/pcb.h
index 349707f4eac..3bc8295af49 100644
--- a/sys/arch/powerpc64/include/pcb.h
+++ b/sys/arch/powerpc64/include/pcb.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pcb.h,v 1.6 2020/07/01 16:05:48 kettenis Exp $ */
+/* $OpenBSD: pcb.h,v 1.7 2020/08/17 16:55:41 kettenis Exp $ */
/*
* Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
@@ -20,6 +20,7 @@
#define _MACHINE_PCB_H_
#include <machine/reg.h>
+#include <machine/pte.h>
struct pcb {
register_t pcb_sp;
@@ -27,6 +28,7 @@ struct pcb {
#define PCB_FP 0x000000001
#define PCB_VEC 0x000000002
#define PCB_VSX 0x000000004
+ struct slb pcb_slb[32];
vaddr_t pcb_onfault;
vaddr_t pcb_userva;
struct fpreg pcb_fpstate;
diff --git a/sys/arch/powerpc64/include/pmap.h b/sys/arch/powerpc64/include/pmap.h
index 50ff0464e9c..14316fe5fd0 100644
--- a/sys/arch/powerpc64/include/pmap.h
+++ b/sys/arch/powerpc64/include/pmap.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: pmap.h,v 1.13 2020/07/23 15:09:09 kettenis Exp $ */
+/* $OpenBSD: pmap.h,v 1.14 2020/08/17 16:55:41 kettenis Exp $ */
/*
* Copyright (c) 2020 Mark Kettenis <kettenis@openbsd.org>
@@ -36,7 +36,6 @@ struct pmap {
int pm_refs;
struct pmap_statistics pm_stats;
struct mutex pm_mtx;
- struct slb pm_slb[32];
};
typedef struct pmap *pmap_t;