Page MenuHomeFreeBSD

D25273.id.diff
No OneTemporary

D25273.id.diff

Index: head/sys/kern/kern_sharedpage.c
===================================================================
--- head/sys/kern/kern_sharedpage.c
+++ head/sys/kern/kern_sharedpage.c
@@ -288,3 +288,21 @@
#endif
}
}
+
+void
+exec_sysvec_init_secondary(struct sysentvec *sv, struct sysentvec *sv2)
+{
+ MPASS((sv2->sv_flags & SV_ABI_MASK) == (sv->sv_flags & SV_ABI_MASK));
+ MPASS((sv2->sv_flags & SV_TIMEKEEP) == (sv->sv_flags & SV_TIMEKEEP));
+ MPASS((sv2->sv_flags & SV_SHP) != 0 && (sv->sv_flags & SV_SHP) != 0);
+
+ sv2->sv_shared_page_obj = sv->sv_shared_page_obj;
+ sv2->sv_sigcode_base = sv2->sv_shared_page_base +
+ (sv->sv_sigcode_base - sv->sv_shared_page_base);
+ if ((sv2->sv_flags & SV_ABI_MASK) != SV_ABI_FREEBSD)
+ return;
+ if ((sv2->sv_flags & SV_TIMEKEEP) != 0) {
+ sv2->sv_timekeep_base = sv2->sv_shared_page_base +
+ (sv->sv_timekeep_base - sv->sv_shared_page_base);
+ }
+}
Index: head/sys/sys/sysent.h
===================================================================
--- head/sys/sys/sysent.h
+++ head/sys/sys/sysent.h
@@ -321,6 +321,7 @@
int shared_page_fill(int size, int align, const void *data);
void shared_page_write(int base, int size, const void *data);
void exec_sysvec_init(void *param);
+void exec_sysvec_init_secondary(struct sysentvec *sv, struct sysentvec *sv2);
void exec_inittk(void);
#define INIT_SYSENTVEC(name, sv) \

File Metadata

Mime Type
text/plain
Expires
Tue, Jan 20, 2:43 AM (8 h, 25 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27758067
Default Alt Text
D25273.id.diff (1 KB)

Event Timeline