无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2375|回复: 0
打印 上一主题 下一主题

[讨论] Intel announces a BIOS Implementation Test Suite (BITS)

[复制链接]
跳转到指定楼层
1#
发表于 2011-2-27 15:34:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Intel announces a BIOS Implementation Test Suite (BITS)
[Posted February 25, 2011 by jake]
From:                 Burt Triplett <burt-AT-pbjtriplett.org>
To:                 linux-kernel-AT-vger.kernel.org, x86-AT-kernel.org, discuss-AT-lesswatts.org
Subject:                 [announce] Intel BIOS Implementation Test Suite (BITS)
Date:                 Wed, 23 Feb 2011 21:36:52 -0800
Message-ID:                 <4D65EE74.1050709@pbjtriplett.org>
Archive-link:                 Article, Thread
Intel is pleased to announce the BIOS Implementation Test Suite (BITS),
a bootable pre-OS environment for testing BIOSes and in particular their
initialization of Intel processors, hardware, and technologies. BITS can
verify your BIOS against many Intel recommendations. In addition, BITS
includes Intel's official reference code as provided to BIOS, which you
can use to override your BIOS's hardware initialization with a
known-good configuration, and then boot an OS.

BITS functionality fits in three broad categories:

- Testing: run test suites to check how the BIOS configured your
   platform hardware.
- Configuration: override the BIOS hardware configuration using a
   known-good configuration, such as by running Intel reference code
- Exploration: experimental tools and information gathering

BITS consists of a modified GRUB2 bootloader, with many additional
commands to probe and manipulate hardware configuration, as well as
scripts using these commands to test and reconfigure hardware.  GRUB2
already provided a very capable pre-OS runtime environment, including
many features commonly found in standard libraries, as well as a
scripting language, command line, and menu system; thanks to the GRUB2
developers for the great platform to build on.

To support the functionality we needed in BITS, we added:

- Support for initializing and running code on all CPUs in an SMP
   system.

- Many new commands for manipulating hardware resources such as
   model-specific registers (MSRs), CPUID, PCI and PCI Express devices,
   and memory addresses; in all cases these operations occur from a
   designated CPU, allowing access to CPU-specific resources and
   asymmetrically mapped system resources.

- Many new commands supporting the hardware configuration and BIOS
   test-suite infrastructure, including a full C expression evaluator for
   integer values (so you don't have to resort to implementing more
   commands in C just to shift, mask, and otherwise twiddle bits).

In addition to those changes to GRUB2 itself, BITS includes
configuration files which build a menu exposing the various BITS
functionality, including the test suites, hardware configuration, and
exploratory tools.  These scripts detect your system's CPU, and provide
menu entries for all the available functionality on your hardware
platform.  You can also access all of the new commands we've added
directly via the command line.

The current version of BITS focuses primarily on CPU configuration and
power management. It includes extensive support for Intel® processors
based on the microarchitecture code name Nehalem and newer, which
includes Intel Core i7, i5, and i3 desktop and mobile processors, and
corresponding Intel Xeon server processors.

Some examples of what you can currently do with BITS:

- Detect if your BIOS properly configures processor power management.

- Run Intel's power management reference code to override your BIOS's
   configuration.  This includes writing the ACPI tables for P-states and
   C-states, replacing those normally provided by your BIOS.  In
   particular, you can even turn off power management in your BIOS
   entirely, use BITS to initialize it, and then chainload Linux and run
   powertop to see full P-state and C-state support via cpufreq and
   cpuidle.

- Detect the frequency and duration of BIOS System Management
   Interrupts.  This tool shows the average duration of SMIs (grouped by
   orders of magnitude), the time between a few SMIs in each group, and
   the worst-case latency observed.

- Check how long a CPU core and the entire processor package spend in
   C-states (sleep states), by directly checking the CPU's residency
   counters (when available on your platform).  You can compare this
   C-state residency measured in a pre-OS environment to what you observe
   under Linux, to help attribute unexpectedly low C-state residency
   between Linux background tasks or configuration and BIOS
   configuration.

For more examples of using BITS, see the screenshots page at
<http://biosbits.org/screenshots/>.

Many pieces of functionality implemented in BITS demonstrate the use of
newly disclosed and documented hardware information, now provided in the
Intel 64 and IA-32 Architectures Software Developer's Manuals (SDM).

You can get BITS from the BITS homepage at <http://biosbits.org/>.  We
appreciate any feedback you might have on BITS, including questions,
comments, bug reports, feature requests, or patches.  In particular, the
BITS infrastructure makes it possible to implement a wide variety of
tests via simple text configuration files, and perform experimentation
directly on the GRUB command line; give it a try and let us know what
you think!



http://biosbits.org/downloads/bits-329.zip
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-12 17:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表