Page MenuHomeFreeBSD

D26971.diff
No OneTemporary

D26971.diff

diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h
--- a/sys/arm64/include/pcpu.h
+++ b/sys/arm64/include/pcpu.h
@@ -56,14 +56,9 @@
struct pcb;
struct pcpu;
-static inline struct pcpu *
-get_pcpu(void)
-{
- struct pcpu *pcpu;
+register struct pcpu *pcpup __asm ("x18");
- __asm __volatile("mov %0, x18" : "=&r"(pcpu));
- return (pcpu);
-}
+#define get_pcpu() pcpup
static inline struct thread *
get_curthread(void)
@@ -76,11 +71,11 @@
#define curthread get_curthread()
-#define PCPU_GET(member) (get_pcpu()->pc_ ## member)
-#define PCPU_ADD(member, value) (get_pcpu()->pc_ ## member += (value))
+#define PCPU_GET(member) (pcpup->pc_ ## member)
+#define PCPU_ADD(member, value) (pcpup->pc_ ## member += (value))
#define PCPU_INC(member) PCPU_ADD(member, 1)
-#define PCPU_PTR(member) (&get_pcpu()->pc_ ## member)
-#define PCPU_SET(member,value) (get_pcpu()->pc_ ## member = (value))
+#define PCPU_PTR(member) (&pcpup->pc_ ## member)
+#define PCPU_SET(member,value) (pcpup->pc_ ## member = (value))
#endif /* _KERNEL */

File Metadata

Mime Type
text/plain
Expires
Sun, Aug 2, 6:42 PM (5 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35869837
Default Alt Text
D26971.diff (1 KB)

Event Timeline