Project

General

Profile

Actions

Submit #2363

closed

Port of FreeBSD clflush and smbios.c

Added by davshao over 12 years ago. Updated about 12 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
-
Target version:
-
Start date:
05/07/2012
Due date:
% Done:

0%

Estimated time:

Description

Port from FreeBSD of function wrapping asm for clflush, required for latest DRM kernel graphics drivers.
(Reference: http://people.freebsd.org/~kib/drm/)

In addition smbios.c has been ported because FreeBSD uses resulting values to decide whether CLFLUSH can
be enabled on virtual machines.

Users can now report (notoriously unreliable) smbios values from kenv.

Ported ability to disable CLFLUSH using set hw.clflush_disable=1.

The function for clflush has not been tested yet.

There may be some concern that adding smbios.c to loader code may lead to unbootable systems for
code that is nonessential; however, the code has not led to unbootable systems on an Asus P4B266
Pentium 4, a Lenovo S10 netbook, an Asus M5A87 amd64, an Asus ULFT20, and Vmware Fusion 3.1.4.

The current port of accompanying vm detection code for clflush is obviously of
cargo-cult quality because some applies to xen and not to vkernels.


Files

clflush.diff (24.2 KB) clflush.diff Patch for clflush port davshao, 05/07/2012 02:07 PM
Actions

Also available in: Atom PDF