History log of /netbsd/sys/dev/nvmm/x86/nvmm_x86.c (Results 1 – 23 of 23)
Revision Date Author Comments
# 6b205bde 06-Oct-2022 msaitoh <msaitoh@NetBSD.org>

Update some AMD CPUID bits:

- Rename FSREP_MOV to FSRM.
- Add Memory Bandwidth Enforcement (MBE)
- Add AMD's PPIN. Rename CPUID_SEF_PPIN to CPUID_SEF_INTEL_PPIN.
- Add Collaborative Processor Perfor

Update some AMD CPUID bits:

- Rename FSREP_MOV to FSRM.
- Add Memory Bandwidth Enforcement (MBE)
- Add AMD's PPIN. Rename CPUID_SEF_PPIN to CPUID_SEF_INTEL_PPIN.
- Add Collaborative Processor Performance Control (CPPC).
- Add HOST_MCE_OVERRIDE.
- Add some unknown bits as Bxx.
- Add comments.
- Use __BIT().

show more ...


# 362a17cf 20-Aug-2022 riastradh <riastradh@NetBSD.org>

x86: Move page attribute table bits to x86/pat.h.


# 9fdfda4a 08-Sep-2020 maxv <maxv@NetBSD.org>

nvmm: cosmetic changes

- Style.
- Explicitly include ioccom.h.


# 1c575f78 06-Sep-2020 riastradh <riastradh@NetBSD.org>

Fix fallout from previous uvm.h cleanup.

- pmap(9) needs uvm/uvm_extern.h.

- x86/pmap.h is not usable on its own; it is only usable if included
via uvm/uvm_extern.h (-> uvm/uvm_pmap.h -> machine/

Fix fallout from previous uvm.h cleanup.

- pmap(9) needs uvm/uvm_extern.h.

- x86/pmap.h is not usable on its own; it is only usable if included
via uvm/uvm_extern.h (-> uvm/uvm_pmap.h -> machine/pmap.h).

- Make nvmm.h and nvmm_internal.h standalone.

show more ...


# ea5c7e85 05-Sep-2020 riastradh <riastradh@NetBSD.org>

Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
to query whether curlw

Round of uvm.h cleanup.

The poorly named uvm.h is generally supposed to be for uvm-internal
users only.

- Narrow it to files that actually need it -- mostly files that need
to query whether curlwp is the pagedaemon, which should maybe be
exposed by an external header.

- Use uvm_extern.h where feasible and uvm_*.h for things not exposed
by it. We should split up uvm_extern.h but this will serve for now
to reduce the uvm.h dependencies.

- Use uvm_stat.h and #ifdef UVMHIST uvm.h for files that use
UVMHIST(ubchist), since ubchist is declared in uvm.h but the
reference evaporates if UVMHIST is not defined, so we reduce header
file dependencies.

- Make uvm_device.h and uvm_swap.h independently includable while
here.

ok chs@

show more ...


# 03031017 05-Sep-2020 maxv <maxv@NetBSD.org>

x86: fix several CPUID flags

- Rename: CPUID_PN -> CPUID_PSN
CPUID_CFLUSH -> CPUID_CLFSH
CPUID_SBF -> CPUID_PBE
CPUID_LZCNT -> CPUID_ABM
CPUI

x86: fix several CPUID flags

- Rename: CPUID_PN -> CPUID_PSN
CPUID_CFLUSH -> CPUID_CLFSH
CPUID_SBF -> CPUID_PBE
CPUID_LZCNT -> CPUID_ABM
CPUID_P1GB -> CPUID_PAGE1GB
CPUID2_PCLMUL -> CPUID2_PCLMULQDQ
CPUID2_CID -> CPUID2_CNXTID
CPUID2_xTPR -> CPUID2_XTPR
CPUID2_AES -> CPUID2_AESNI
To match the x86 specification and the other OSes.

- Remove: CPUID_B10, CPUID_B20, CPUID_IA64. They do not exist.

show more ...


# 3d5c2360 05-Sep-2020 maxv <maxv@NetBSD.org>

nvmm: update copyright headers


# 7d265f10 04-Sep-2020 maxv <maxv@NetBSD.org>

nvmm-x86: improve the CPUID emulation

- Mask DTES64, DS_CPL, CID, SDBG, xTPR, PN.
- B10, B20 and IA64 do not exist, so just remove them.


# 8f1c484c 22-Aug-2020 maxv <maxv@NetBSD.org>

nvmm-x86: hide more CPUID flags, mostly related to perf monitors


# 968df1ee 20-Aug-2020 maxv <maxv@NetBSD.org>

nvmm-x86: improve the CPUID emulation

- x86-svm: explicitly handle 0x80000007 and 0x80000008. The latter
contains extended features we must filter out. Apply the same in
x86-vmx for symmetry.

nvmm-x86: improve the CPUID emulation

- x86-svm: explicitly handle 0x80000007 and 0x80000008. The latter
contains extended features we must filter out. Apply the same in
x86-vmx for symmetry.
- x86-svm: explicitly handle extended leaves until 0x8000001F, and
truncate to it.

show more ...


# 9839abd6 20-Aug-2020 maxv <maxv@NetBSD.org>

nvmm-x86: advertise the SERIALIZE instruction, available on future CPUs


# ba1af9fe 11-Aug-2020 maxv <maxv@NetBSD.org>

Hide OSPKE. NFC since the host never uses PKU, but still.


# 3b864b9e 05-Aug-2020 maxv <maxv@NetBSD.org>

Improve the CPUID emulation:

- Hide SGX*, PKU, WAITPKG, and SKINIT, because they are not supported.
- Hide HLE and RTM, part of TSX. Because TSX is just too buggy and we
cannot guarantee that i

Improve the CPUID emulation:

- Hide SGX*, PKU, WAITPKG, and SKINIT, because they are not supported.
- Hide HLE and RTM, part of TSX. Because TSX is just too buggy and we
cannot guarantee that it remains enabled in the guest (if for example
the host disables TSX while the guest is running). Nobody wants this
crap anyway, so bye-bye.
- Advertise FSREP_MOV, because no reason to hide it.

show more ...


# a6da3ea8 05-Aug-2020 maxv <maxv@NetBSD.org>

Make it easier to understand what's going on, no functional change.


# 1fcc4393 09-May-2020 maxv <maxv@NetBSD.org>

Improve the CPUID emulation of basic leaves:
- Hide DCA and PQM, they cannot be used in guests.
- On Intel, explicitly handle each basic leaf until 0x16.
- On AMD, explicitly handle each basic lea

Improve the CPUID emulation of basic leaves:
- Hide DCA and PQM, they cannot be used in guests.
- On Intel, explicitly handle each basic leaf until 0x16.
- On AMD, explicitly handle each basic leaf until 0x0D.

show more ...


# f197933d 16-Nov-2019 maxv <maxv@NetBSD.org>

Don't report MWAITX by default.


# 99943a51 15-May-2019 maxv <maxv@NetBSD.org>

NVMM: Expose MD_CLEAR to the guests.


# ebdf54a6 06-Apr-2019 maxv <maxv@NetBSD.org>

Replace the misc[] state by a new compressed nvmm_x64_state_intr structure,
which describes the interruptibility state of the guest.

Add evt_pending, read-only, that allows the virtualizer to know i

Replace the misc[] state by a new compressed nvmm_x64_state_intr structure,
which describes the interruptibility state of the guest.

Add evt_pending, read-only, that allows the virtualizer to know if an event
is pending.

show more ...


# 90215b71 03-Apr-2019 maxv <maxv@NetBSD.org>

VMX: if PAT is not valid, #GP on WRMSR, rather than crashing the guest.


# bf4b4462 03-Apr-2019 maxv <maxv@NetBSD.org>

Add MSR_TSC.


# 6807f487 03-Mar-2019 maxv <maxv@NetBSD.org>

Choose which CPUID bits to allow, rather than which bits to disallow. This
is clearer, and also forward compatible with future CPUs.

While here be more consistent when allowing the bits, and sync be

Choose which CPUID bits to allow, rather than which bits to disallow. This
is clearer, and also forward compatible with future CPUs.

While here be more consistent when allowing the bits, and sync between
nvmm-amd and nvmm-intel. Also make sure to disallow AVX, because the guest
state we provide is only x86+SSE. Fixes a CentOS panic when booting on
NVMM, reported by Jared McNeill, thanks.

show more ...


# 87d8cc1e 26-Feb-2019 maxv <maxv@NetBSD.org>

Change the layout of the SEG state:

- Reorder it, to match the CPU encoding. This is the universal order,
also used by Qemu. Drop the seg_to_nvmm[] tables.

- Compress it. This divides its size

Change the layout of the SEG state:

- Reorder it, to match the CPU encoding. This is the universal order,
also used by Qemu. Drop the seg_to_nvmm[] tables.

- Compress it. This divides its size by two.

- Rename some of its fields, to better match the x86 spec. Also, take S
out of Type, this was a NetBSD-ism that was likely confusing to other
people.

show more ...


# 107d29be 23-Feb-2019 maxv <maxv@NetBSD.org>

Install the x86 RESET state at VCPU creation time, for convenience, so
that the libnvmm users can expect a functional VCPU right away.