Print this page
15254 %ymm registers not restored after signal handler
15367 x86 getfpregs() summons corrupting %xmm ghosts
15333 want x86 /proc xregs support (libc_db, libproc, mdb, etc.)
15336 want libc functions for extended ucontext_t
15334 want ps_lwphandle-specific reg routines
15328 FPU_CW_INIT mistreats reserved bit
15335 i86pc fpu_subr.c isn't really platform-specific
15332 setcontext(2) isn't actually noreturn
15331 need <sys/stdalign.h>
Change-Id: I7060aa86042dfb989f77fc3323c065ea2eafa9ad
Conflicts:
    usr/src/uts/common/fs/proc/prcontrol.c
    usr/src/uts/intel/os/archdep.c
    usr/src/uts/intel/sys/ucontext.h
    usr/src/uts/intel/syscall/getcontext.c

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/sys/prsystm.h
          +++ new/usr/src/uts/common/sys/prsystm.h
↓ open down ↓ 48 lines elided ↑ open up ↑
  49   49  
  50   50  struct prfpregset;
  51   51  struct pstatus;
  52   52  struct lwpstatus;
  53   53  struct psinfo;
  54   54  struct lwpsinfo;
  55   55  struct prcred;
  56   56  struct prpriv;
  57   57  struct prsecflags;
  58   58  struct prfdinfo;
       59 +struct prxregset;
  59   60  
  60   61  struct seg;
  61   62  struct regs;
  62   63  struct watched_page;
  63   64  
  64   65  /*
  65   66   * These are functions in the procfs module that are
  66   67   * called from the kernel proper and from other modules.
  67   68   */
  68   69  extern uint_t pr_getprot(struct seg *, int, void **,
↓ open down ↓ 1 lines elided ↑ open up ↑
  70   71  extern void pr_getprot_done(void **);
  71   72  extern size_t pr_getsegsize(struct seg *, int);
  72   73  extern int  pr_isobject(struct vnode *);
  73   74  extern int  pr_isself(struct vnode *);
  74   75  extern void prinvalidate(struct user *);
  75   76  extern void prgetstatus(proc_t *, struct pstatus *, zone_t *);
  76   77  extern void prgetlwpstatus(kthread_t *, struct lwpstatus *, zone_t *);
  77   78  extern void prgetpsinfo(proc_t *, struct psinfo *);
  78   79  extern void prgetlwpsinfo(kthread_t *, struct lwpsinfo *);
  79   80  extern void prgetprfpregs(klwp_t *, struct prfpregset *);
  80      -extern void prgetprxregs(klwp_t *, caddr_t);
  81      -extern int  prgetprxregsize(proc_t *);
       81 +extern void prgetprxregs(klwp_t *, struct prxregset *);
       82 +extern size_t prgetprxregsize(proc_t *);
  82   83  extern void prgetcred(proc_t *, struct prcred *);
  83   84  extern void prgetpriv(proc_t *, struct prpriv *);
  84   85  extern size_t prgetprivsize(void);
  85   86  extern void prgetsecflags(proc_t *, struct prsecflags *);
  86   87  extern uint_t prnsegs(struct as *, int);
  87   88  extern u_offset_t prgetfdinfosize(proc_t *, vnode_t *, cred_t *);
  88   89  extern int prgetfdinfo(proc_t *, vnode_t *, struct prfdinfo *, cred_t *,
  89   90      cred_t *, list_t *);
  90   91  extern void prexit(proc_t *);
  91   92  extern void prfree(proc_t *);
↓ open down ↓ 61 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX