diff options
author | kib <kib@FreeBSD.org> | 2015-08-05 08:17:10 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2015-08-05 08:17:10 +0000 |
commit | 83f30eda371b1192a70eeaba6f278f01b67cdb76 (patch) | |
tree | f70aca8415c813f994a4316cf700171adaff2fc5 /sys/i386/include | |
parent | 13079235af5f6cf8c395e19bedfee5481353abe5 (diff) | |
download | FreeBSD-src-83f30eda371b1192a70eeaba6f278f01b67cdb76.zip FreeBSD-src-83f30eda371b1192a70eeaba6f278f01b67cdb76.tar.gz |
Implement x86 ptrace(2) requests PT_{GET,SET}{FS,GS}BASE.
MFC r284918:
Add helper fill_based_sd(9).
MFC r284919:
Add x86 PT_GETFSBASE, PT_GETGSBASE machine-depended ptrace requests to
obtain the thread %fs and %gs bases. Add x86 PT_SETFSBASE and
PT_SETGSBASE requests to set the bases from debuggers. The set
requests, similarly to the sysarch({I386,AMD64}_SET_FSBASE), override
the corresponding segment registers.
MFC r284965:
Document x86 machine-specific ptrace(2) requests.
MFC r285011:
Disallow a debugger on 64bit system to set fs/gs bases of the 32bit
process beyond the end of the process address space.
MFC r285104:
Grammar and language fixes.
Diffstat (limited to 'sys/i386/include')
-rw-r--r-- | sys/i386/include/md_var.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/i386/include/md_var.h b/sys/i386/include/md_var.h index 7bfcb9c..6c5aaea3 100644 --- a/sys/i386/include/md_var.h +++ b/sys/i386/include/md_var.h @@ -94,6 +94,7 @@ struct reg; struct fpreg; struct dbreg; struct dumperinfo; +struct segment_descriptor; void *alloc_fpusave(int flags); void bcopyb(const void *from, void *to, size_t len); @@ -112,6 +113,7 @@ void dump_add_page(vm_paddr_t); void dump_drop_page(vm_paddr_t); void finishidentcpu(void); void fillw(int /*u_short*/ pat, void *base, size_t cnt); +void fill_based_sd(struct segment_descriptor *sdp, uint32_t base); void initializecpu(void); void initializecpucache(void); void i686_pagezero(void *addr); |