Use the library functions for shift operations in BaseLib for a 64-bit integer where the code is shared for 32-bit and 64-bit.
Defining bitfields in structures with > 32 bits will cause these types of issues on IA32 builds. So the largest bitfield should be type UINT32 with a max size of :32.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10983 6f19259b-4bc3-4df7-8a09-765794883524
1. When question is grayout, its value is not gray.
2. When type Ui UP action, Repaint is not trigged when next MenuOption is above the TopOfScreen.
3. When type Ui Down action, TopOfScreen is not calculated correctly when screen roll is required.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10977 6f19259b-4bc3-4df7-8a09-765794883524
UefiCpuPkg/CpuDxe provides all the critical features
needed for DUET. Therefore, to reduce code duplication,
DUET can use the generic UEFI CPU DXE driver.
The one notable lost feature is that DUET's CPU DXE would
call legacy video INT 10 to make sure the exception information
could be displayed on the screen.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10974 6f19259b-4bc3-4df7-8a09-765794883524
DUET's CpuDxe driver is directly dependent on the 8259. This
forces the 8259 driver to run before the CPU DXE driver. This
is required so the 8259 driver will initialize and mask all
8259 interrupts before the CPU DXE driver allows interrupts
to be enabled.
The UefiCpuPkg CPU DXE driver is not dependent on the 8259
directly. Therefore, in order to use the UefiCpuPkg CPU DXE
driver with DUET, we add the APRIORI file to force the 8259
driver to run early before the CPU DXE driver runs.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10973 6f19259b-4bc3-4df7-8a09-765794883524
The change in r10765 introduced an issue where inherited interrupt
handlers would override the driver's RegisterInterruptHandler
functionality.
DUET installs a IDT with 256 entries early in it's boot. Therefore,
no interrupt handlers could be installed with DUET while using
UefiCpuPkg/CpuDxe (instead of DuetPkg/CpuDxe).
This change forces the IDT to be modified when RegisterInterruptHandler
is called to ensure the UEFI handler will be installed properly.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10972 6f19259b-4bc3-4df7-8a09-765794883524
The EfiLdr image may be overwritten later in the boot process.
This can lead to the Handoff structure being corrupted before
DxeIpl is finished with it.
To help prevent this, we move the Handoff structure to the
stack, and in DxeIpl make a copy of it.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10950 6f19259b-4bc3-4df7-8a09-765794883524
You can now use this sequence to build UnixPkg:
$ cd /path/to/edk2
$ UnixPkg/build.sh
or
$ UnixPkg/build64.sh
The old method is still valid:
$ cd /path/to/edk2/UnixPkg
$ ./build.sh
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10934 6f19259b-4bc3-4df7-8a09-765794883524
These comparisons were not comparing an enum variable
with a member of the same enum type.
GCC 4.5 generated a warning for these comparison
operations.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10932 6f19259b-4bc3-4df7-8a09-765794883524
This call can cause a reset, and is most critical for ACPI S3/S4
resume situations. OVMF does not support S3/S4.
OVMF does not have true non-volatile variable support, so
this call could cause a continuous reset situation in certain
scenarios. (The BdsLibSaveMemoryTypeInformation may set an
non-volatile variable, and then reset with the assumption that
the variable will still exist during the next boot.)
Additionally, some version of QEMU appear to hang when the
port 64 reset is initiated.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10927 6f19259b-4bc3-4df7-8a09-765794883524