[Bitvisor-devel-en:2] BitVisor 1.1 released

Hideki EIRAKU hdk at igel.co.jp
Fri Jun 4 15:43:29 JST 2010


Hello,

We are happy to announce that BitVisor 1.1 has been released:

    http://sourceforge.net/projects/bitvisor/files/

The differences between BitVisor 1.1 and BitVisor 1.0.1 are:

1. Protection domain function

Added a protection domain feature that protects memory between the VMM
core and each module (storage, encryption, ID management and VPN) by
extending several process features to improve security.

Extended process features:
- Added library functions to allocate and free memory.
- Added a feature to restrict the stack size and message passing of a process.
- Added the ability to map preshared memory.
- Execution of I/O instructions and enabling of interrupts in processes have 
  been prohibited by setting IOPL to 0.

2. AHCI SATA driver

Added AHCI support for SATA host controllers.
SATA storage devices accessed via AHCI can now be encrypted.

Modified existing ATA/ATAPI driver for AHCI:
- Refactored part of the ATA command parsing logic.
- Added new storage device types: STORAGE_TYPE_AHCI and
  STORAGE_TYPE_AHCI_ATAPI.
- Fixed the stalling of ATAPI device I/O on some PCs.

3. Realtek RTL816x Ethernet driver

Added an experimental driver for Realtek RTL816x for use with
VPN functionality.  This driver is currently experimental.

4. Storage device configuration settings
- Added "none" as encryption algorithm specifier to indicate unencrypted 
  drive regions.
- Added "extend" option to specify extended conditions such as device ID
  matching.

5. Conceal PCI devices

Added a new feature to hide PCI devices that match conditions specified
in a policy description.  An extension of the IEEE1394 device concealer.

6. Booting from USB storage

Added bootloaderusb; a new boot loader for booting BitVisor from USB storage
and chain loading to an internal HDD.

7. Bug fixes and small improvements

* USB
- Fixed panic when an address or a port is re-used again.
- Fixed a condition that caused usb_bulk_read/writes to freeze.
- Fixed incorrect timer counts for dprintft().
- Changed unit for timeout to micro seconds.
- Fixed an assertion in the uhci driver.
- Fixed EHCI bug on windows vista sp2 or later. 
- Properly parse descriptor information for low speed devices. 
- Support USB 1.x devices which are connected through a USB 2.0 hub.
- Support HID devices such keyboard and mouse.
- Support non-standard commands used by Hitachi software`s HIBUN LE.
- Support mass-storage devices which have multiple LUNs.
- Implement a new method of determining the sector size of USB mass storage
  devices, eliminating a panic that could occur during port reset.
- Revised internal management data in uhci/ehci drivers
  for better performance.
- Revised log output code for lower overhead.

* Intel PRO/1000 Ethernet driver
- Fixed incorrect reporting of received packet sizes.
- Fixed crash that occurs when linux 2.6.18 is the guest OS.
- Fixed a bug preventing access to the Transmit Control Register.
- Fixed a bug causing the system to freeze during shutdown process, 
  due to a full ethernet ring buffer.
- Enable/disable the log output by a config file stored in mini-OS
- Changed the source address for ethernet log output,
  from 10.10.10.10 to 0.0.0.0

* Memory management
- Expand the area for mapping physical memory region statically,
  from 16MiB to 1.75GiB.
- Fixed a bug in releasing process stack.
- Show a warning whenever process stack overflows/underflows
- Fixed a small trivial bug.
- Revised the page directory entry setting for kernel space
  for better performance of process invocation.

* Core
- Fixed a bug caused by incorrect assembly code for a bios hook.
- Add a configuration option for disabling TCG BIOS.
- Change the timer source to ACPI PM timer from TSC.
- Added a workaround for preventing a panic that can occur on
  some processors such Atom Z520.
- Expand stack size for some threads.
- Added ability to determine the maximum value EAX when issuing CPUID 
  instructions.
- Support the XSETBV instruction that is used by newer processors.
- Fixed a freeze condition that can occur during reboot due to disabling APIC.
- Fixed a bug that caused the keyboard to be unavailable after mini-OS booted.
- Fixed a bug that caused storage to be unavailable after mini-OS booted.
- Fixed a minor bug the Makefile.
- Fixed a bug that allowed code for clearing the bss section to also overwrite
  the multi-boot section.
- Revised management of shadow page tables for better performance.

* Others
- boot/loader: Improved loader performance.
- boot/login: Fixed a compile error.
- boot/login: Update the mini OS linux kernel to 2.6.31.6 
- boot/login: Update the bitvisor.conf templete. 
- iccard: fixed a bug that made the connection to the IC card device unstable.
- pci: added preliminary support for PCI hotplug (only tested on onboard
  devices for certain notebooks). 
- storage: fixed LBA manipulation code.
- vpn: fixed DHCP compatibility issue.
- vpn: limit the total number of fragmented packets.
- vmmcall_status: support for changing the value in .config and bitvisor.conf.
- all: Change all 'const' variable declarations to 'static const'.
- all: reduced number of warnings during compilation.
- all: character set of all source files is now UTF-8.

Have fun,
-- 
Hideki EIRAKU <hdk at igel.co.jp>


More information about the BitVisor-devel-en mailing list