Home | History | Annotate | Download | only in include
History log of /src/sys/arch/x86/include/machdep.h
RevisionDateAuthorComments
 1.12  28-Oct-2021  riastradh x86: Process bootloader rndseed much sooner.
 1.11  15-Nov-2020  bouyer remove unused x86_cpu_initclock_func()
 1.10  25-Apr-2020  bouyer branches: 1.10.2;
Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM
guests in GENERIC.
Xen support can be disabled at runtime with
boot -c
disable hypervisor
 1.9  26-Dec-2016  cherry branches: 1.9.26;
the i386 and amd64 boot time msgbuf init code is nearly identical.

Unify them into x86/x86_machdep.c:init_x86_msgbuf()

Boot tested on GENERIC (i386, amd64), XEN3_DOM0 (amd64)
 1.8  16-Jul-2016  maxv Simplify the way physical pages are internalized into the VM system on x86.
Only two functions are called now: init_x86_clusters, which initializes the
memory clusters from the bootinfo, and init_x86_vm, which inserts the pages
from the clusters into VM.
 1.7  12-Jun-2014  riastradh branches: 1.7.4; 1.7.8;
Tweak x86 page freelists and add x86_select_freelist.

- Add 4G freelist to i386 -- there may be higher addresses if PAE.
- Add 64G and 1T freelists to amd64.
- Simplify freelist setup code and condense it into a table.
- Add x86_select_freelist to get a freelist guaranteed to yield
addresses no greater than a prescribed maximum address.

x86_select_freelist takes a uint64_t, not a paddr_t or bus_addr_t, so
that you can pass in, e.g., a 36-bit maximum address without needing
to write conditionals for i386/PAE.

No objections on port-x86:

https://mail-index.netbsd.org/port-i386/2014/05/21/msg003277.html
https://mail-index.netbsd.org/port-amd64/2014/05/21/msg002062.html
 1.6  12-Apr-2013  christos branches: 1.6.8;
de-duplication police arrests sysctl.
 1.5  21-Oct-2010  yamt branches: 1.5.8; 1.5.18;
don't forget to call nmi_init.
 1.4  23-Aug-2010  jruoho Other entry points beyond x86_cpu_idle_halt() may use HLT as the
idle-mechanism. Send an IPI also for these in cpu_need_resched().
 1.3  18-Jul-2010  jruoho Merge a driver for ACPI CPUs with basic support for processor power states,
also known as C-states. The code is modular and provides an easy way to add
the remaining functionality later (namely throttling and P-states).

Remarks:

1. Commented out in the GENERICs; more testing exposure is needed.

2. The C3-state is disabled for the time being because it turns off
timers, among them the local APIC timer. This may not be universally
true on all x86 processors; define ACPICPU_ENABLE_C3 to test.

3. The algorithm used to choose a power state may need tuning. When
evaluating the appropriate state, the implementation uses the
previous sleep time as an indicator. Additional hints would include
for example the system load.

Also bus master activity is evaluated when choosing a state. The
usb(4) stack is notorious for such activity even when unused.
Typically it must be disabled in order to reach the C3-state,
but it may also prevent the use of C2.

4. While no extensive empirical measurements have been carried out, the
power savings are somewhere between 1-2 W with C1 and C2, depending
on the processor, firmware, and load. With C3 even up to 4 W can be
saved. The less something ticks, the more power is saved.

ok jmcneill@, joerg@, and discussed with various people.
 1.2  15-Dec-2008  cegger branches: 1.2.2; 1.2.4; 1.2.6; 1.2.8; 1.2.10; 1.2.12;
cleanup BIOS memmap code:
- get rid of some nested externs
- reduce dependency on global variables
- some preparations for upcoming pmem(9)
 1.1  14-Nov-2008  cegger branches: 1.1.4;
merge BIOS memmap code from i386/i386/machdep.c:init386() and amd64/amd64/machdep.c:init_x86_64 into x86/x86/x86_machdep.c
 1.1.4.2  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.1.4.1  14-Nov-2008  haad file machdep.h was added on branch haad-dm on 2008-12-13 01:13:38 +0000
 1.2.12.1  05-Mar-2011  rmind sync with head
 1.2.10.2  22-Oct-2010  uebayasi Sync with HEAD (-D20101022).
 1.2.10.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.2.8.4  09-Oct-2010  yamt sync with head
 1.2.8.3  11-Aug-2010  yamt sync with head.
 1.2.8.2  04-May-2009  yamt sync with head.
 1.2.8.1  15-Dec-2008  yamt file machdep.h was added on branch yamt-nfs-mp on 2009-05-04 08:12:09 +0000
 1.2.6.1  24-Oct-2010  jym Sync with HEAD
 1.2.4.2  19-Jan-2009  skrll Sync with HEAD.
 1.2.4.1  15-Dec-2008  skrll file machdep.h was added on branch nick-hppapmap on 2009-01-19 13:17:09 +0000
 1.2.2.2  17-Jan-2009  mjf Sync with HEAD.
 1.2.2.1  15-Dec-2008  mjf file machdep.h was added on branch mjf-devfs2 on 2009-01-17 13:28:38 +0000
 1.5.18.3  03-Dec-2017  jdolecek update from HEAD
 1.5.18.2  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.5.18.1  23-Jun-2013  tls resync from head
 1.5.8.1  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.6.8.1  10-Aug-2014  tls Rebase.
 1.7.8.2  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.7.8.1  26-Jul-2016  pgoyette Sync with HEAD
 1.7.4.2  05-Feb-2017  skrll Sync with HEAD
 1.7.4.1  05-Oct-2016  skrll Sync with HEAD
 1.9.26.1  18-Apr-2020  bouyer Centralize initialisations of delay_func and initclock_func
in x86_machdep.c and export from <x86/machdep.h>
Introduce a x86_dummy_initclock() and a x86_cpu_initclock_func pointer,
to be used later for Xen HVM native clock support.
rename rtclock_tval to x86_rtclock_tval and export from <x86/machdep.h>,
for the benefit of lapic.c
 1.10.2.1  14-Dec-2020  thorpej Sync w/ HEAD.

RSS XML Feed