Firmware Implementation Techniques to Achieve Windows ......2011/06/01  · UEFI Summer Summit –...

Preview:

Citation preview

presented by

Firmware Implementation Techniques to Achieve Windows® 8 Fast Boot

UEFI Summer Summit – July 16-20, 2012 Presented by Jeff Bobzin

Insyde Software

UEFI Summer Summit – July 2012 www.uefi.org 1

Updated 2011-06-01

Agenda

• Introduction and Goals

• Cost of Early USB Enumeration

• Firmware Menu Entry Solution

• What if a Keyboard is Needed?

• Other Elements

• Q & A

UEFI Summer Summit – July 2012 www.uefi.org 2

Introduction and Goals

UEFI Summer Summit –July 2012 www.uefi.org 3

What Were Our Goals?

• Faster Boot – better turn-on experience

• Streamline boot of installed OS from disk

• Allow other boot targets when needed

• Allow user access to firmware menus when needed

UEFI Summer Summit – July 2012 www.uefi.org 4

Firmware/OS Cooperation

• Example of system improvement only possible due to cooperation facilitated by UEFI – Available to all firmware vendors

– Available to all OS vendors

– Available in Win 8 public Beta

– Full function in Insyde current versions

UEFI Summer Summit – July 2012 www.uefi.org 5

Cost of Early USB Enumeration

UEFI Summer Summit –July 2012 www.uefi.org 6

Impact of USB Enumeration on Firmware Boot Times

• When the Firmware enumerates the USB bus and searches for keyboard system time-to-boot is increased

• USB bus has certain architected delays

• If multiple devices are attached, the total delay increases

UEFI Summer Summit – July 2012 www.uefi.org 7

UEFI Summer Summit – July 2012 www.uefi.org 8

0

0.5

1

1.5

2

2.5

3

3.5

4

0 USB K/M + Flash Dr. + hard drive

DT

NB

Firmware Portion of System Boot from Shutdown (SSD Disk)

Skipping USB Enumeration

• Skipping USB enumeration pays immediate benefits in faster boot

UEFI Summer Summit – July 2012 www.uefi.org 9

UEFI Summer Summit – July 2012 www.uefi.org 10

0

0.5

1

1.5

2

2.5

3

3.5

4

0 USB K/M + Flash Dr. + hard drive

DT

NB

Firmware Boot Time when skipping USB Enumeration

UEFI Summer Summit – July 2012 www.uefi.org 11

0

0.5

1

1.5

2

2.5

3

3.5

4

0 USB K/M + Flash Dr. + hard drive

w/USB

Skip USB

Improvement when Skipping USB Enumeration

UEFI Summer Summit – July 2012 www.uefi.org 12

0%

5%

10%

15%

20%

25%

30%

35%

40%

45%

50%

0 USB K/M + Flash + Hard Dr.

DT

NB

Boot Time Penalty for Connected USB Devices

Firmware Menu Entry Solution

UEFI Summer Summit –July 2012 www.uefi.org 13

How to Reach Firmware Menus?

• Skipping USB enumeration removes USB keyboard as tool for user interrupting boot to go to firmware menus

• NOTE – PS/2 style keyboard on NB embedded controller is still available

– But boot speed is so fast it may be hard for user to hit correct key quickly enough!

UEFI Summer Summit – July 2012 www.uefi.org 14

New OsIndications Variables

• User can use OS menus to signal need for firmware menu

• OS signals to firmware via new variables

–Added UEFI Spec Update 2.3.1C

UEFI Summer Summit – July 2012 www.uefi.org 15

New UEFI Variables for F/W <-> OS Signaling

New UEFI Variable

OsIndicationsSupported Allows the firmware to indicate supported features and actions to the OS.

OsIndications Allows the OS to request the firmware to enable certain features and to take certain actions.

Defined Indicator Bit

EFI_OS_INDICATIONS_BOOT_TO_FW_UI 0x0000000000000001

UEFI Summer Summit – July 2012 www.uefi.org 16

Windows® 8 Menu Navigation to Request Firmware On Reboot

Settings | Change PC Settings |

General | Advanced Startup [Restart] |

Troubleshoot | Advanced Options |

UEFI Firmware Settings |

[Restart]

UEFI Summer Summit – July 2012 www.uefi.org 17

What if a Keyboard is Needed by OS Bootloader?

UEFI Summer Summit –July 2012 www.uefi.org 18

Scenarios that Require Firmware Keyboard Initialization

1. Bootloader needs keyboard

2. Non-Standard Boot Target

3. Default Boot Fails

UEFI Summer Summit – July 2012 www.uefi.org 19

Bootloader Requests Keyboard Wakeup

• Example Scenarios:

– Bitlocker Pin

– GRUB or other Bootloader Options

• When OS bootloader performs first EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL. ReadKeyStrokeEx() the deferred USB Enumeration is performed

UEFI Summer Summit – July 2012 www.uefi.org 20

Win 8 Menu for Alt. Device Boot

• Windows® 8 provides BootNext select

Settings | Change PC Settings |

General | Advanced Startup [Restart] |

Troubleshoot |

Use A Device| [Boot-Device]

UEFI Summer Summit – July 2012 www.uefi.org 21

Other Elements

UEFI Summer Summit –July 2012 www.uefi.org 22

Automatic Enumeration

• USB is enumerated if primary boot target (BootNext or top of BootOrder) is not hard disk

– Example – USB boot is top of BootOrder list

• USB is enumerated if primary boot target fails to boot

– Facilitate recovery scenarios

UEFI Summer Summit – July 2012 www.uefi.org 23

Opt-in or Opt-out

• Skipping USB Enumeration allows faster boot

– But will it confuse users?

• OEM has decision

– Should new behavior be Factory Default ?

Consider:

1. System Type

2. OS Vendor Recommendations

UEFI Summer Summit – July 2012 www.uefi.org 24

Streamlined Boot Priority

• This technology is built on earlier improvements including:

– Skip media checks for removable media

–Pre-set OS boot variables are always top priority

• Streamlined procedure departs from Legacy BIOS tradition

UEFI Summer Summit – July 2012 www.uefi.org 25

Questions and Answers

UEFI Summer Summit –July 2012 www.uefi.org 26

Thanks for attending the UEFI Summer Summit 2012

For more information on the Unified EFI Forum and UEFI Specifications, visit http://www.uefi.org

presented by

UEFI Summer Summit – July 2012 www.uefi.org 27

Recommended