Features/PC System Flash: Difference between revisions

From QEMU
No edit summary
Line 5: Line 5:


=Command line interface=
=Command line interface=
Currently the -pflash parameter has no use with
Usage of -bios and -pflash parameters as of pc-1.1:
an x86 or x86-64 system.  To enable PC system flash, this parameter
would now be used on x86 & x86-64 systems.


The -bios and -pflash parameters would both now have a use with qemu/kvm:
{| class='wikitable' border=1
! KVM enabled !! -pflash used !! -bios used !! Result
|-
|rowspan=3 | <Center>No</Center>
| <Center>Yes</Center> || <Center>-</Center>
| -pflash parameter will be loaded as flash image just below 4GB.


{| class='wikitable' border=1
'bios.bin' and -bios parameter will be ''ignored''.
! -bios used !! -pflash used !! Result
|-
|-
| <Center>No</Center> || <Center>No</Center>
| <Center>No</Center> || <Center>No</Center>
| (no change) 'bios.bin' will be loaded as rom image.
| 'bios.bin' will be used to create a read-only pflash drive.


No system flash is available.
A flash device is available, but it is read-only.
|-
|-
| <Center>No</Center> || <Center>Yes</Center>
| <Center>No</Center> || <Center>Yes</Center>
| ('''changing''') -pflash parameter will be loaded as flash image just below 4GB.
| -bios parameter will be used to create a read-only pflash drive.
 
A flash device is available, but it is read-only.
|-
|rowspan=3 | <Center>Yes</Center>
|| <Center>Yes</Center> || <Center>-</Center>
| An error message condition:


'bios.bin' will be ''ignored''.
PC system firmware (pflash) not available
|-
|-
| <Center>Yes</Center> || <Center>No</Center>
|| <Center>No</Center> || <Center>No</Center>
| (no change) -bios parameter will be loaded as rom image.
| 'bios.bin' will be loaded as rom image.


No system flash is available.
No system flash is available.
|-
|-
| <Center>Yes</Center> || <Center>Yes</Center>
| <Center>No</Center> || <Center>Yes</Center>
| ('''changing''') -bios parameter will be loaded as rom image just below 4GB.
| -bios parameter filename will be loaded as rom image.


-pflash parameter will be loaded as flash image just below the bios rom image.
No system flash is available.
|}
|}


=Known Issues=
=Known Issues=
* KVM will not boot if -pflash is used and -bios is not used.  KVM currently only functions with this support if code is not attempting to run from the emulated flash.  This issue does not affect QEMU.
* KVM will not boot if -pflash is used and -bios is not used.  KVM currently only functions with this support if code is not attempting to run from the emulated flash.  This issue does not affect QEMU.

Revision as of 22:09, 13 March 2012

This is a proposal for PC System Flash emulation for on QEMU/KVM.

Flash Hardware

Leverage the pre-existing CFI flash support in qemu/hw/pflash_cfi01.c. (Another option is to use qemu/hw/pflash_cfi02.c.)

Command line interface

Usage of -bios and -pflash parameters as of pc-1.1:

KVM enabled -pflash used -bios used Result
No
Yes
-
-pflash parameter will be loaded as flash image just below 4GB.

'bios.bin' and -bios parameter will be ignored.

No
No
'bios.bin' will be used to create a read-only pflash drive.

A flash device is available, but it is read-only.

No
Yes
-bios parameter will be used to create a read-only pflash drive.

A flash device is available, but it is read-only.

Yes
Yes
-
An error message condition:

PC system firmware (pflash) not available

No
No
'bios.bin' will be loaded as rom image.

No system flash is available.

No
Yes
-bios parameter filename will be loaded as rom image.

No system flash is available.

Known Issues

  • KVM will not boot if -pflash is used and -bios is not used. KVM currently only functions with this support if code is not attempting to run from the emulated flash. This issue does not affect QEMU.