Home | History | Annotate | Download | only in include
History log of /src/sys/arch/x86/include/Makefile
RevisionDateAuthorComments
 1.26  30-Nov-2024  christos Create a new header lwp_private.h to contain _lwp_getprivate_fast,
_lwp_gettcb_fast, _lwp_settcb and remove them from mcontext.h, so that:
1. we don't need special hacks to hide them
2. we can include <lwp.h> where needed to get the necessary prototypes
without redefining them locally.
 1.25  30-Apr-2021  christos Merge the x86 gdt function and constant definitions
 1.24  11-May-2019  christos branches: 1.24.14;
Undo previous, fixed in userland.
 1.23  11-May-2019  christos expose the {rd,wr}msr functions to userland and install the header for
the benefit of cpuctl (fix the build).
 1.22  17-Feb-2018  kamil branches: 1.22.4;
Stop installing dbregs.h

This is now kernel-only header. The behavior is well specified by the CPU
documents and we don't introduce changes to it.

Noted by <wiz>
 1.21  15-Dec-2016  kamil branches: 1.21.8;
Add support for hardware assisted watchpoints/breakpoints API in ptrace(2)

Add new ptrace(2) calls:
- PT_COUNT_WATCHPOINTS - count the number of available hardware watchpoints
- PT_READ_WATCHPOINT - read struct ptrace_watchpoint from the kernel state
- PT_WRITE_WATCHPOINT - write new struct ptrace_watchpoint state, this
includes enabling and disabling watchpoints

The ptrace_watchpoint structure contains MI and MD parts:

typedef struct ptrace_watchpoint {
int pw_index; /* HW Watchpoint ID (count from 0) */
lwpid_t pw_lwpid; /* LWP described */
struct mdpw pw_md; /* MD fields */
} ptrace_watchpoint_t;

For example amd64 defines MD as follows:
struct mdpw {
void *md_address;
int md_condition;
int md_length;
};

These calls are protected with the __HAVE_PTRACE_WATCHPOINTS guard.

Tested on amd64, initial support added for i386 and XEN.

Sponsored by <The NetBSD Foundation>
 1.20  27-Feb-2016  tls branches: 1.20.2;
Add cpu_rng, a framework for simple on-CPU random number generators.
 1.19  11-Feb-2014  dsl branches: 1.19.6;
Move sys/arch/amd64/amd64/fpu.c and sys/arch/amd64/include/fpu.h
into sys/arch/x86 in preparation for using the same code for i386.
 1.18  07-Feb-2014  dsl Userspace (especially libkvm) build better is cpu_extended_state.h
is exported.
 1.17  29-Aug-2012  drochner branches: 1.17.2; 1.17.4;
Extend the CPU microcode update framework to support Intel x86 CPUs.
Contrary to the AMD implementation, it doesn't use xcalls to distribute
the update to all CPUs but relies on cpuctl(8) to bind itself to the
right CPU -- to keep it simple and avoid possible problems with
hyperthreading.
Also, it doesn't parse the vendor supplied file to pick the right
part for the present CPU model but relies on userland to prepare
files with specific filenames. I'll commit a pkg for this in a minute
(pkgsrc/sysutils/intel-microcode).
The ioctl interface changed; compatibility is provided (should be
limited to COMPAT_NETBSD6 as soon as this is available).
 1.16  17-Jul-2011  dyoung branches: 1.16.2;
Good-bye bus.h. Don't install <machine/bus.h>.
 1.15  20-Dec-2010  christos To use x86/cpu.h struct cpu_info from userland, we need via_padlock.h installed.
 1.14  07-Jul-2010  njoly Install x86/pte.h
 1.13  11-May-2008  ad branches: 1.13.12; 1.13.18; 1.13.20;
Share cpu.h between the x86 ports.
 1.12  20-Jan-2008  yamt branches: 1.12.6; 1.12.8; 1.12.10; 1.12.12;
- rewrite P->V tracking.
- use a hash rather than SPLAY trees.
SPLAY tree is a wrong algorithm to use here.
will be revisited if it slows down anything other than
micro-benchmarks.
- optimize the single mapping case (it's a common case) by
embedding an entry into mdpage.
- don't keep a pmap pointer as it can be obtained from ptp.
(discussed on port-i386 some years ago.)
ideally, a single paddr_t should be enough to describe a pte.
but it needs some more thoughts as it can increase computational
costs.
- pmap_enter: simplify and fix races with pmap_sync_pv.
- don't bother to lock pm_obj[i] where i > 0, unless DIAGNOSTIC.
- kill mp_link to save space.
- add many KASSERTs.
 1.11  18-Oct-2007  yamt branches: 1.11.2; 1.11.8;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.10  16-Apr-2007  ad branches: 1.10.10; 1.10.12; 1.10.14; 1.10.16;
+ x86/sysarch.h
 1.9  09-Feb-2007  ad branches: 1.9.2; 1.9.6; 1.9.8;
Merge newlock2 to head.
 1.8  01-Jan-2007  ad Report on and where possible, try to work around some of the known errata
for Athlon 64 and Opteron processors. Tested briefly by cube@ and elad@.
 1.7  04-Feb-2006  jmmv branches: 1.7.14;
Revert yesterday's change that attempted to fix the detection of the
boot device when using a Multiboot boot loader. It couldn't work because
these boot loaders do not pass a checksum of the disk so matchbiosdisk()
cannot really find any matches. I should have gone to sleep before
commiting...

Found by xtraeme@.
 1.6  03-Feb-2006  jmmv branches: 1.6.2;
When booting an i386 kernel with Multiboot, properly detect the boot device
by looking it up in the x86_alldisks table (instead of trying to match it
to 'wd*' manually).

In order to do this, move the cpu_rootconf function from x86 common code
to amd64 and i386 specific one. This way, i386 can do an extra step (call
the appropriate Multiboot code) in the appropriate place (after
x86_matchbiosdisks and before findroot()).
 1.5  22-Oct-2003  kleink branches: 1.5.16; 1.5.30;
Use a common <machine/math.h> for amd64 and i386.
 1.4  26-Apr-2003  fvdl branches: 1.4.2;
Install cacheinfo.h
 1.3  03-Mar-2003  fvdl Install cpuvar.h
 1.2  27-Feb-2003  fvdl Move a few more files to x86/include. Trim the list of files to install
in /usr/include a bit.
 1.1  26-Feb-2003  fvdl Install header files.
 1.4.2.3  21-Sep-2004  skrll Fix the sync with head I botched.
 1.4.2.2  18-Sep-2004  skrll Sync with HEAD.
 1.4.2.1  03-Aug-2004  skrll Sync with HEAD
 1.5.30.1  09-Sep-2006  rpaulo sync with head
 1.5.16.4  21-Jan-2008  yamt sync with head
 1.5.16.3  27-Oct-2007  yamt sync with head.
 1.5.16.2  03-Sep-2007  yamt sync with head.
 1.5.16.1  26-Feb-2007  yamt sync with head.
 1.6.2.1  22-Apr-2006  simonb Sync with head.
 1.7.14.2  12-Jan-2007  ad Sync with head.
 1.7.14.1  24-Oct-2006  ad Compile fixes
 1.9.8.1  11-Jul-2007  mjf Sync with head.
 1.9.6.2  23-Oct-2007  ad Sync with head.
 1.9.6.1  27-May-2007  ad Sync with head.
 1.9.2.1  07-May-2007  yamt sync with head.
 1.10.16.1  25-Oct-2007  bouyer Sync with HEAD.
 1.10.14.1  08-Oct-2007  yamt merge some parts of x86 pmap.h.
 1.10.12.2  23-Mar-2008  matt sync with HEAD
 1.10.12.1  06-Nov-2007  matt sync with HEAD
 1.10.10.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.11.8.1  20-Jan-2008  bouyer Sync with HEAD
 1.11.2.1  18-Feb-2008  mjf Sync with HEAD.
 1.12.12.1  23-Jun-2008  wrstuden Sync w/ -current. 34 merge conflicts to follow.
 1.12.10.2  11-Aug-2010  yamt sync with head.
 1.12.10.1  16-May-2008  yamt sync with head.
 1.12.8.1  18-May-2008  yamt sync with head.
 1.12.6.1  02-Jun-2008  mjf Sync with HEAD.
 1.13.20.1  05-Mar-2011  rmind sync with head
 1.13.18.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.13.12.3  27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.13.12.2  10-Jan-2011  jym Sync with HEAD
 1.13.12.1  24-Oct-2010  jym Sync with HEAD
 1.16.2.2  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.16.2.1  30-Oct-2012  yamt sync with head
 1.17.4.1  18-May-2014  rmind sync with head
 1.17.2.2  03-Dec-2017  jdolecek update from HEAD
 1.17.2.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.19.6.2  05-Feb-2017  skrll Sync with HEAD
 1.19.6.1  19-Mar-2016  skrll Sync with HEAD
 1.20.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.21.8.1  01-Mar-2018  martin Pull up following revision(s) (requested by kamil in ticket #599):
sys/arch/x86/include/Makefile: revision 1.22
Stop installing dbregs.h
This is now kernel-only header. The behavior is well specified by the CPU=
documents and we don't introduce changes to it.
Noted by <wiz>
 1.22.4.1  10-Jun-2019  christos Sync with HEAD
 1.24.14.1  13-May-2021  thorpej Sync with HEAD.

RSS XML Feed