Page MenuHomeFreeBSD

D4011.id9729.diff
No OneTemporary

D4011.id9729.diff

Index: sys/arm/include/pcb.h
===================================================================
--- sys/arm/include/pcb.h
+++ sys/arm/include/pcb.h
@@ -52,14 +52,25 @@
#define PCB_OWNFPU 0x00000001
#define PCB_NOALIGNFLT 0x00000002
caddr_t pcb_onfault; /* On fault handler */
+
+/*
+ * This structure must be binary compatible regardless of PMAP
+ * version being used. Create reserved section for NEW_PMAP to
+ * make other variables be placed exactly in the same memory
+ * addresses.
+ */
+#define PCB_PMAP_SECTION_SIZE (sizeof(vm_offset_t) + \
+ 2*sizeof(uint32_t) + sizeof(u_int))
#ifdef ARM_NEW_PMAP
uint32_t pcb_pagedir; /* TTB0 value */
+ uint8_t _rsvd[PCB_PMAP_SECTION_SIZE - sizeof(uint32_t)];
#else
vm_offset_t pcb_pagedir; /* PT hooks */
uint32_t *pcb_pl1vec; /* PTR to vector_base L1 entry*/
uint32_t pcb_l1vec; /* Value to stuff on ctx sw */
u_int pcb_dacr; /* Domain Access Control Reg */
#endif
+#undef PCB_PMAP_SECTION_SIZE
struct vfp_state pcb_vfpstate; /* VP/NEON state */
u_int pcb_vfpcpu; /* VP/NEON last cpu */
} __aligned(8); /*

File Metadata

Mime Type
text/plain
Expires
Fri, May 15, 9:46 AM (7 h, 52 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33079860
Default Alt Text
D4011.id9729.diff (1 KB)

Event Timeline