Print this page
9059 Simplify SMAP relocations with krtld
Portions contributed by: John Levon <john.levon@joyent.com>
*** 181,197 ****
extern void fakesoftint(void);
extern void *plat_traceback(void *);
/*
! * The following two macros are the four byte instruction sequence of stac, ret
! * and clac, ret. These are used in startup_smap() as a part of properly setting
! * up the valid instructions. For more information on SMAP, see
! * uts/intel/ia32/ml/copy.s.
*/
! #define SMAP_CLAC_INSTR 0xc3ca010f
! #define SMAP_STAC_INSTR 0xc3cb010f
extern void smap_disable(void);
extern void smap_enable(void);
#if defined(__xpv)
extern void xen_init_callbacks(void);
--- 181,201 ----
extern void fakesoftint(void);
extern void *plat_traceback(void *);
/*
! * The following two macros are the four byte instruction sequence of stac, nop
! * and clac, nop. These are used in startup_smap() and hotinline_smap() as a
! * part of properly setting up the valid instructions. For more information on
! * SMAP, see uts/intel/ia32/ml/copy.s, uts/i86pc/os/machdep.c and
! * uts/common/os/modctl.c.
! *
! * Note that smap_disable and smap_enable are resolved to stubs at compile time,
! * but inlined at runtime by do_hotinlines() in uts/i86pc/os/machdep.c.
*/
! #define SMAP_CLAC_INSTR 0x90ca010f
! #define SMAP_STAC_INSTR 0x90cb010f
extern void smap_disable(void);
extern void smap_enable(void);
#if defined(__xpv)
extern void xen_init_callbacks(void);