Date: Sun, 2 Sep 2007 19:39:54 +0200 From: Roman Divacky <rdivacky@freebsd.org> To: arch@freebsd.org Cc: i386@freebsd.org Subject: PSL_RF inclusion in PSL_USERCHANGE for i386 Message-ID: <20070902173953.GA52566@freebsd.org>
next in thread | raw e-mail | index | archive | help
hi in i386/i386/machdep.c the set_regs() function sets i386 registers (called by ptrace for example). it checks what eflags are being changed and compares that with a mask of allowed flags to be changed. the mask is defined in psl.h like this: #define PSL_USERCHANGE (PSL_C | PSL_PF | PSL_AF | PSL_Z | PSL_N | PSL_T \ | PSL_D | PSL_V | PSL_NT | PSL_AC | PSL_ID) PSL_RF (Flag to ensure single-step only happens once per instruction.). Can someone tell me why this is omitted? I think its because of having in-kernel debugger. User-mode Linux requires this to be allowed. So I wonder why this is disabled in FreeBSD. (Linux itself does not check the eflags in any way). thanks for answer, and/or pointer to answer Roman Divacky
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070902173953.GA52566>