SlideShare a Scribd company logo
Visit ebookfinal.com to download the full version and
explore more ebooks or textbooks
Quick Boot A Guide for Embedded Firmware
Developers 2nd edition Pete Dice
_____ Click the link below to download _____
https://ebookfinal.com/download/quick-boot-a-guide-for-
embedded-firmware-developers-2nd-edition-pete-dice/
Explore and download more ebooks or textbook at ebookfinal.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Android Boot Camp for Developers Using Java A Guide to
Creating Your First Android Apps Third Edition Corinne
Hoisington
https://ebookfinal.com/download/android-boot-camp-for-developers-
using-java-a-guide-to-creating-your-first-android-apps-third-edition-
corinne-hoisington/
Arduino 2nd Edition A Quick Start Guide Maik Schmidt
https://ebookfinal.com/download/arduino-2nd-edition-a-quick-start-
guide-maik-schmidt/
Raspberry Pi A Quick Start Guide 2nd Edition Maik Schmidt
https://ebookfinal.com/download/raspberry-pi-a-quick-start-guide-2nd-
edition-maik-schmidt/
Effective Unit Testing A guide for Java Developers 1st
Edition Lasse Koskela
https://ebookfinal.com/download/effective-unit-testing-a-guide-for-
java-developers-1st-edition-lasse-koskela/
Hand Rehabilitation A Quick Reference Guide and Review 2e
2nd Edition Susan Weiss
https://ebookfinal.com/download/hand-rehabilitation-a-quick-reference-
guide-and-review-2e-2nd-edition-susan-weiss/
OpenGL ES 2 for Android A Quick Start Guide 1st Edition
Kevin Brothaler
https://ebookfinal.com/download/opengl-es-2-for-android-a-quick-start-
guide-1st-edition-kevin-brothaler/
Embedded Everywhere A Research Agenda for Networked
Systems of Embedded Computers 1st Edition Committee On
Networked Systems Of Embedded Computers
https://ebookfinal.com/download/embedded-everywhere-a-research-agenda-
for-networked-systems-of-embedded-computers-1st-edition-committee-on-
networked-systems-of-embedded-computers/
S60 Smartphone Quality Assurance A Guide for Mobile
Engineers and Developers 1st Edition Saila Laitinen
https://ebookfinal.com/download/s60-smartphone-quality-assurance-a-
guide-for-mobile-engineers-and-developers-1st-edition-saila-laitinen/
S60 Smartphone Quality Assurance A Guide for Mobile
Engineers and Developers 1st Edition Saila Laitinen
https://ebookfinal.com/download/s60-smartphone-quality-assurance-a-
guide-for-mobile-engineers-and-developers-1st-edition-saila-
laitinen-2/
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
Quick Boot A Guide for Embedded Firmware Developers
2nd edition Pete Dice Digital Instant Download
Author(s): Pete Dice
ISBN(s): 9781501506819, 1501506811
Edition: 2
File Details: PDF, 3.84 MB
Year: 2017
Language: english
Pete Dice
Quick Boot
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
Pete Dice
Quick Boot
A Guide for Embedded Firmware Developers
2nd edition
PRESS
ISBN 978-1-5015-1538-5
e-ISBN (PDF) 978-1-5015-0681-9
e-ISBN (EPUB) 978-1-5015-0672-7
Library of Congress Cataloging-in-Publication Data
A CIP catalog record for this book has been applied for at the Library of Congress.
Bibliographic information published by the Deutsche Nationalbibliothek
The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie;
detailed bibliographic data are available on the Internet at http://dnb.dnb.de.
© 2018 Pete Dice
Published by Walter de Gruyter Inc., Boston/Berlin
Printing and binding: CPI books GmbH, Leck
♾ Printed on acid-free paper
Printed in Germany
www.degruyter.com
Acknowledgments
The studies, data, results, and guidelines compiled in the book are the result of many
talented engineers at Intel who have a strong passion for BIOS and firmware. The
contributions they have made and the time they have spent, much of it outside their
normal duties, deserve to be acknowledged.
For significant contributions to this book for analyses, cases studies, and written
content, I’d like to thank these talented engineers:
– Jim Pelner—who crafted the original white paper that echoes the main themes of
this book and for contributing to several chapters early on.
– Jaben Carsey—who wrote the shell chapter in the book above and beyond his
many contributions to the UEFI shells in general.
– Sam Fleming—who created Appendix A and has been one of my mentors in BIOS
from the beginning.
– Mike Rothman, Anton Cheng, Linda Weyhing, Rob Gough, Siddharth Shah, and
Chee Keong Sim—for their exquisite multiyear collaboration around the fast boot
concept and multiple case studies over the year.
– BIOS vendor Insyde Software for donating feedback and volunteering for the fore-
word.
Thanks to my program manager, Stuart Douglas, for getting me through the writing
phase and then on to the finish line (are we there yet?).
Reviewer comments and suggestions were extremely valuable for both editions
of this work. I deeply appreciate those who took the time to provide indispensable
feedback, including Drew Jensen, Mark Doran, Jeff Griffen, John Mitkowski, and Dong
Wei and at my publisher, Jeff Pepper, Megan Lester, Mark Watanabe and Angie
MacAllister for her work on fixing the art and tables.
I would also like to acknowledge my peers in the BIOS/FW engineering and ar-
chitecture teams within the computer industry for their drive to make this technology
an ever more valuable (and less obtrusive) part of people’s everyday lives. Lastly, I
want to thank my wife, Anita, for her patience and everything she’s done to allow me
time to complete this.
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
Contents
Chapter 1: System Firmware’s Missing Link  1
Start by Gathering Data  1
Initialization Roles and Responsibilities  3
System Firmware  3
OS Loader  4
Operating System  4
Legacy BIOS Interface, UEFI, and the Conversion  4
Tiano Benefits  5
Previous UEFI Challenges  6
Persistence of Change  7
The Next Generation  7
Commercial BIOS Business  8
Award  8
General Software  8
Phoenix Technologies Limited  8
American Megatrends Inc.  9
Insyde Software  9
ByoSoft  9
Value of BIOS  9
Proprietary Solutions  10
Making a Decision on Boot Firmware  10
Consider Using a BIOS Vendor  11
Consider Open-Source Alternatives  12
Consider Creating Something from Scratch  13
Consider a Native Boot Loader for Intel ®
Architecture  13
Just Add Silicon Initialization  14
Summary  14
Chapter 2: Intel Architecture Basics  15
The Big Blocks of Intel Architecture  17
The CPU  17
The Front Side Bus  19
The North Bridge, PCIset, AGPset, MCH, Uncore, System Agent  19
The Transparent Link (Hublink, DMI, ESI)  20
The South Bridge, Also Known as the PIIX, I/O Controller Hub (ICH), I/O Hub
(IOH), Enterprise South Bridge (ESB), and Platform Controller
Hub (PCH)  21
Data Movement Is Fundamental  23
It’s a Multiprocessing System Architecture  24
viii  Contents
The Memory Map  25
I/O Address Range  26
The Operating System  28
Summary  29
Chapter 3: System Firmware Terms and Concepts  31
Typical PC/Intel®
Architecture Overview  31
Memory Types  31
Processor Cache  33
System Memory  34
Complementary Metal-Oxide Semiconductor (CMOS)  34
System BIOS Flash Memory (NVRAM, FWH, or SPI)  34
Real-Time Clock (RTC)  35
System Memory Map  35
Legacy Address Range  36
Main Memory Address Range  36
PCI Memory Address Range  36
Splash Screen  36
Status and Error Messages  37
Display Messages  37
Beep Codes  38
POST Codes  38
Master Boot Record  38
GUID Partition Table  39
Real Mode  39
Protected Mode  39
Logical Addressing  39
Flat Protected Mode  40
Reset Vector  40
Programmable Interrupt Controller  40
Advanced Programmable Interrupt Controller  40
The I/OxAPIC  40
The Local APIC  41
Summary  41
Chapter 4: Silicon-Specific Initialization  43
Listen to the Designer, Then Experiment, and Fix It  43
Chipsets  44
Processors  44
Basic Types of Initialization  45
Simple Bits  45
Standard Algorithms, Minding the Ps and Qs  46
Contents  ix
Custom Algorithms: It’s All About Me  46
Option ROMs  47
Summary  48
Chapter 5: Industry Standard Initialization  49
PCI  51
PCI Device Enumeration  52
PCI BIOS  54
PCI IRQ Routing with ACPI Methods  58
PCI Recommendation  58
PCI Power Management  58
USB Enumeration and Initialization  58
PCI Enumeration and Initialization of USB Controllers  59
USB Wake from ACPI Sx (S3, S4, S5 to S0)  61
USB Enumeration  61
SATA  62
SATA Controller Initialization  62
Setting the SATA Controller Mode  63
Enabling SATA Ports  64
Setting the Programming Interface  65
Initializing Registers in AHCI Memory-Mapped Space  66
RAID Mode Initialization  66
Additional Programming Requirements During SATA Initialization  68
External SATA Programming  68
Compliance with Industry Specifications  68
Advanced Configuration and Power Interface (ACPI)  69
ACPI Tables  69
ACPI Namespace  71
Summary  71
Chapter 6: System Firmware Debug Techniques  73
Host/Target Debugging Techniques  73
Hardware Capabilities  73
POST Codes  74
Audio (Beep) Codes  74
Serial Port  75
In-Target Probe (ITP), a Form of JTAG Port  75
Software Debug Methods 76
Console Input/Output  76
Abstraction  76
Disable Optimization  77
Where Am I in the Firmware?  77
x  Contents
When Hardware Isn’t Stable, Where Do I Start?  77
Debugging Other People’s Code  78
Debugging PCI Option ROMs or Binary Libraries  78
Debugging Library Code (No Source)  79
Debugging Beyond Firmware  80
Real Mode Interrupts  80
System Management Mode  81
Industry Specifications  82
Pitfalls  82
Summary  83
Chapter 7: Shells and Native Applications  85
Pre-OS Shells 87
UEFI Shell Application  88
EFI/UEFI Script File  91
Different Features between Script and App  91
Customizing the UEFI Shell  92
Where to Get Shells  95
GUIs and the UEFI Shell  95
Remote Control of the UEFI Shell  95
Debugging Drivers and Applications in the EFI and UEFI Shells  96
The End for the Shell  97
Summary  98
Chapter 8: Loading an Operating System  99
The Boot Path  99
The Bus  99
The Device  100
The Partition Table  100
The File System  100
Booting via the Legacy OS Interface  100
Master Boot Record  100
Loading the Legacy OS Loader  101
Legacy BIOS to OS Handoff Requirements  101
Booting via the EFI Interface  102
Default EFI Boot Behavior  102
Direct Execution of a Linux Kernel  103
UEFI Runtime Services  104
Neither Option  104
Summary  105
Contents  xi
Chapter 9: The Intel Architecture Boot Flow  107
®
Hardware Power Sequences (The Pre-Pre-Boot)  107
Nonhost-Based Subsystem Startup  108
Starting at the Host Reset Vector  109
Mode Selection  109
Early Initialization  112
Single-Threaded Operation  112
Simple Device Initialization  112
Memory Configuration  115
Post-Memory  116
Shadowing  117
Exit from No-Eviction Mode and Transfer to DRAM  118
Transfer to DRAM  118
Memory Transaction Redirection  119
Application Processor (AP) Initialization  120
Advanced Initialization  122
General Purpose I/O (GPIO) Configuration  122
Interrupt Controllers  123
Interrupt Vector Table (IVT)  125
Interrupt Descriptor Table (IDT)  125
Timers  126
Memory Caching Control  127
Serial Ports  127
Clock and Overclock Programming  128
PCI Device Enumeration  128
Graphics Initialization  129
Input Devices  129
USB Initialization  129
SATA Initialization  130
SATA Controller Initialization  130
Memory Map  131
Region Types  132
Region Locations  132
Loading the OS  132
Summary  133
Chapter 10: Bootstrapping Embedded  135
Optimization Using BIOS and Bootloaders  135
Platform Policy (What Is It and Why Is It Here?)  136
Case Study Summaries  138
Example 1  138
Example 2  139
xii  Contents
Example 1 Details  139
What Are the Design Goals?  140
What Are the Supported Target Operating Systems?  140
Do We Have to Support Legacy Operating Systems?  140
Do We Have to Support Legacy Option ROMs?  141
Are We Required to Display an OEM Splash Screen?  142
What Type of Boot Media Is Supported?  142
What Is the BIOS Recovery/Update Strategy?  142
When Processing Things Early  143
Is There a Need for Pre-OS User Interaction?  143
A Note of Caution  144
Additional Details  144
Example 2 Details  148
Turn Off Debugging  148
Decrease Flash Size  149
Caching of PEI Phase  149
Intel SpeedStep®
Technology Enabled Early  149
BDS Phase Optimization  150
Platform Memory Speed  150
Remove PS/2 Keyboard/Mouse  150
Remove BIOS Setup  150
Remove Video Option ROM  151
Remove BIOS USB Support  151
Divide Long Lead Pieces into Functional Blocks and Distribute Across the
Boot Flow  151
Summary  152
Chapter 11: Intel’s Fast Boot Technology  153
The Human Factor  153
Responsiveness  156
The (Green) Machine Factor  157
Boot Time Analysis  158
First Boot versus Next Boot Concept  160
Boot Mode UEFI Configuration Setting  161
Fallback Mechanisms  162
Baseline Assumptions for Enabling Intel Fast Boot  163
Intel Fast Boot Timing Results  164
Summary  164
Contents  xiii
Chapter 12: Collaborative Roles in Quick Boot  165
Power Hardware Role  165
Power Sequencing  165
Power Supply Specification  165
Flash Subsystem  165
High Speed SPI Bus for Flash  166
Flash Component Accesses  166
SPI Prefetch and Buffer  166
SPI Flash Reads and Writes  166
Slow Interface and Device Access  167
DMI Optimizations  167
Processor Optimizations  168
CPU Turbo Enabling  168
Streamline CPU Reset and Initial CPU Microcode Update  168
Efficient APs Initialization  168
Caching Code and Data  169
Main Memory Subsystem  169
Memory Configuration Complexity  169
Fast and Safe Memory Initialization  169
Hardware-Based Memory Clearing  170
Efficient Memory Operations Instruction Usage  170
SMBus Optimizations (Which Applies to Memory Init)  170
Minimize BIOS Shadowing Size, Dual DXE Paths for Fast Path versus Full
Boot  170
PCIe Port Disable Algorithm  171
Manageability Engine  171
Eliminating MEBx  171
Reducing Manageability Engine and BIOS Interactions  172
Graphics Subsystem  173
Graphics Device Selection  173
Graphics Output Protocol (GOP) Support for CSM-Free Operating
Systems  173
Panel Specification  174
Start Panel Power Early  174
Storage Subsystems  174
Spinning Media  174
Utilizing Nonblocking Storage I/O  174
Early SATA COMRESETs: Drive Spin-Up  175
CSM-Free Intel®
Raid Storage Technology (Intel RST) UEFI Driver  175
Minimizing USB Latency  175
Power Management  176
Minimizing Active State Power Management Impact  176
xiv  Contents
Security  177
Intel®
Trusted Execution Technology (Intel TXT)  177
TPM Present Detect and Early Start  177
Operating System Interactions  178
Compatibility Segment Module and Legacy Option ROMs  178
OS Loader  178
Legacy OS Interface  179
Reducing Replication of Enumeration Between Firmware and OS  179
Other Factors Affecting Boot Speed  180
No Duplication in Hardware Enumeration within UEFI  180
Minimize Occurrences of Hardware Resets  180
Intel Architecture Coding Efficiency  180
Network Boot Feature  180
Value-Add, But Complex Features  181
Tools and the User Effect  181
Human Developer’s Resistance to Change  181
Summary  182
Chapter 13: Legal Decisions  183
Proprietary License  183
Berkeley Software Distribution (BSD) License  184
Key Four Clauses to the Original License  184
Three-Clause BSD  184
General Public License (GPL) 185
Lesser GPL (LGPL)  185
Separating and Segregating Code  186
Conclusion  186
Appendix A: Generating Serial Presence Detection Data for Down Memory
Configurations  189
Analyzing the Design’s Memory Architecture  191
Calculating DIMM Equivalents  192
ECC Calculation  193
SDRAM Width Determination  193
SDRAM Chip Datasheet  193
SDRAM Architecture Analysis Example  193
Calculating Specific SPD Data Based on SDRAM Datasheet  194
SPD Field 0x00: Number of Bytes  194
SPD Field 0×01: SPD Revision  195
Byte 1: SPD Revision  195
SPD Field 0×02: Device Type  196
SPD Field 0×03: Module Type  197
Contents  xv
SPD Field 0×04: SDRAM Density and Banks  198
SPD Field 0×05: SDRAM Rows and Columns  200
SPD Field 0×06: Nominal Voltage, VDD  201
SPD Field 0×07: Ranks & Device DQ Count  202
SPD Field 0×08: Module Bus Width  204
SPD Field 0×09: Fine Timebase Dividend/Divisor  205
SPD Field 0×0A and 0×0B: Medium Timebase Dividend/Divisor  206
SPD Field 0x0C: Cycle Time (tCKmin)  207
SPD Field 0×0E and 0×0F: CAS Latencies Supported  209
SPD Field 0×10: CAS Latency Time (tAAmin or tCL)  211
SPD Field 0×11: Write Recovery Time (twrmin)  213
SPD Field 0×12 RAS# to CAS# Delay (tRCDmin)  215
SPD Field 0x13: Min. Row Active to Row Active Delay (tRRDmin)  217
SPD Field 0×14: Min. Row Precharge Delay (tRPmin)  220
SPD Field 0×15: Upper Nibble of tRAS & tRC  222
SPD Field 0×16: Min. Active to Precharge Delay (tRASmin) LSB  223
SPD Field 0×17: Min. Active to Active Refresh Delay (tRCmin) LSB  225
SPD Field 0×18 and 0×19: Min. Refresh Recovery Delay (tRFCmin)  228
SPD Field 0×1A: Min. Write to Read Command Delay (tWTRmin)  230
SPD Field 0×1B: Min. Read to Precharge Command Delay (tRTPmin)  232
SPD Field 0×1C: tFAW Upper Nibble  234
SPD Field 0×1D: Min. Four Activate Window Delay (tFAWmin) LSB  234
SPD Field 0x1E: SDRAM Optional Features  237
SPD Field 0×1F: SDRAM Thermal and Refresh Options  238
SPD Field 0×20: Module Thermal Sensor  239
SPD Field 0x21: SDRAM Device Type  240
SPD Field 0×22–0×3B: Reserved  241
Module-Specific Section: Bytes 60–116  242
SPD Field 0×3C: (Unbuffered): Module Nominal Height  242
SPD Field 0×3D: (Unbuffered): Module Max. Thickness  243
SPD Field 0x3E: (Unbuffered): Reference Raw Card Used  244
SPD Field 0×3F: Unbuff Addr. Mapping from Edge Connector to DRAM247
SPD Field 0×40-0×74: Reserved  248
SPD Field 0×75 and 0×76: Module Manufacturer ID Code, LSB  248
SPD Field 0×77: Module Manufacturer Location  249
SPD Field 0×78 and 0×79: Module Manufacturing Date  250
SPD Field 0x7A–0x7D: Module Serial Number  250
SPD Field 0×7E and 0×7F: CRC Bytes  250
Bytes 126–127: SPD Cyclical Redundancy Code (CRC)  251
SPD Field 0×80–0×91  251
SPD Field 0×92 and 0×93: Module Revision Code  252
SPD Field 0×94 and 0×95: DRAM Manufacturer ID Code 252
xvi  Contents
SPD Field 0×96–0×AF: Manufacturer’s Specific Data  253
SPD Field 0×B0–0×FF: Open for Customer Use  253
References for Appendix A  253
Index  255
Foreword from the First Edition
How do you explain what BIOS is? I generally explain it as the code that runs when
you first turn on the computer. It creates a level playing field so that the operating
system has a known state to start from. If the other person has some programming
knowledge, he or she generally says something like, “Oh. You’re one of those guys!”
Let’s face it. BIOS isn’t sexy. The hardware engineers will always blame the BIOS en-
gineers if the system fails to POST. It’s generally up to BIOS engineers to prove it isn’t
their code that is the problem.
When I first started as a lowly BIOS Engineer II, the BIOS codebase was pure x86
assembly code—thousands of files across almost as many directories with lots of cryp-
tic comments like, “I don’t know why this is here, but it breaks if I remove or modify
it! Beware!” It took 45 minutes to do a clean compile. Comments would commonly
refer to specifications that no longer existed. To say a BIOS is filled with some secret,
arcane algorithms is like saying driving a Formula 1 car is just like driving on the free-
way, only faster! There are no college courses that teach BIOS programming. There
are no trade schools to go to. A few software and electronic engineers will be able to
make it as BIOS engineers because it takes a bit of both to be successful.
This book is the first one I’m aware of that attempts to shine light onto the esoteric field of BIOS
engineering. A field that makes everything from the big-iron servers to the lowly smartphone
turn on. This book has combined two fundamental concepts. What you need to know to make a
BIOS that works and what you need to know to make a BIOS that works fast! It wasn’t that long
ago that a POST in under ten seconds was considered pretty fast. Today’s standard is now under
two seconds. There are topics outlined in this book that will help get you to that sub-2-second
goal. I am currently working on a quasi-embedded system that is in the sub-1-second range with
full measured boot using these concepts!
This book has something for the recent college graduate as well as the seasoned BIOS engi-
neer. There are nuggets of tribal knowledge scattered throughout. Help yourself become better
acquainted with the BIOS industry and read it.
–Kelly Steele,
Former BIOS Architect, Insyde Software, Inc.,
Now at Intel Corporation
This book has something for the recent college graduate as well as the seasoned BIOS
engineer. There are nuggets of tribal knowledge scattered throughout. Help yourself
become better acquainted with the BIOS industry and read it.
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
DOI 10.1515/9781501506819-001
Chapter 1
System Firmware’s Missing Link
Hardware: the parts of a computer that can be kicked.
—Jeff Pesis
Booting an Intel architecture platform should be easy. Anyone who thinks that writ-
ing an all-purpose Intel®
architecture Basic Input Output System (BIOS) and/or an
operating system (OS) boot loader from scratch is easy has yet to try it. The complexity
and sheer number of documents and undocumented details about the motherboard
and hardware components, operating system requirements, industry standards and
exceptions, silicon-specific eccentricities beyond the standards, little-known tribal
knowledge, basic configuration, compiler nuances, linker details, and variety of ap-
plicable debug tools are enormous. While it can be difficult, it doesn’t have to be.
This book is designed to give a background in the basic architecture and details
of a typical boot sequence to the beginner firmware developer. Various specifications
provide the basics of both the code bases and the standards. While a summary is pro-
vided in the chapters below, there is no substitute for reading and comprehending
the specifications and developer’s manuals first-hand. This book also provides in-
sights into optimization techniques to the more advanced developers. With the back-
ground information, the required specifications on hand, and diligence, many devel-
opers can create quality boot solutions. Even if they choose not to create, but to
purchase the solution from a vendor, the right information about boot options makes
the decision making easier.
Start by Gathering Data
First you must ‘know the ground’; obtaining and using the right data are essential to
success. To begin to gather the appropriate documents at the start of the project re-
quires research. Full system initialization is like a large puzzle where someone has
hidden some of the pieces:
– Motherboard schematics are an absolute must. If you are designing the board,
then that is not a problem. If you are reusing an off-the-shelf solution, there is
a high likelihood that the vendor who created the board is unwilling to release
schematics readily. You can reverse-engineer some of the data, like system
management bus addresses, but things like IRQs and GPIOs will be very diffi-
cult. If there is an embedded controller in the picture, the number of unknowns
increases.
– A standard system BIOS today covers at least 70 industry standard specifications
alone that can apply to the mainstream client and server boxes commercially
2  Chapter 1: System Firmware’s Missing Link
available. For application specifications, there could be dozens for a given mar-
ket segment. If it is a new or emerging type of system, there will be no mature
standard and you will be chasing a moving target. Obtaining the list of industry
standards that apply is a daunting task and may require some registering and
joining to gain access to specifications and/or forums to get your questions an-
swered. Some older specifications are not published and not available today on
the Internet.
– There are many long-in-the-tooth legacy devices that may need to be initialized,
and finding documentation on them is challenging. They may exist only in the
dusty drawers of a senior engineer who retired five years ago.
– In some cases, nondisclosure agreements (NDAs) must be signed with the various
silicon, BIOS, or motherboard vendors. The NDAs can take precious time to ob-
tain and will require some level of legal advice.
– UEFI provides a handy API for interfacing to the OS. It has a modular framework
and is a viable starting place supporting many industry standards such as ACPI
and PCI.
– Until now, no single reference manual has documented the required steps
needed to boot an Intel architecture system in one place. Nor has anyone detailed
the order of initialization to get someone started.
Those who have been exposed to system firmware at a coding level and the inner
workings of the black art that is system BIOS understand that it is difficult to explain
everything it does, how it does it, or why it should be done in exactly that way. Not
many people in the world would have all theanswers to every step in the sequence.
Most people who work in the code will want to know just enough to make necessary
changes and press on with development or call up their BIOS vendor.
Fortunately, there are many options available when choosing a firmware solu-
tion, which we will examine in the next few pages. The more you know about the
options, the key players, their history, and the variables, the better decision you can
make for your design. The decision will be a combination of arbitrary thought, low-
hanging fruit, economies of scale, technical politics, and, of course, money vs. time.
Intel has created an open-source-based system, known as Intel®
Boot Loader De-
velopment Kit (Intel®
BLDK), which provides a turnkey solution without a huge learn-
ing curve. Developers can go to www.intel.com and download Intel BLDK for various
embedded platforms.
Intel®
Quark processor also has a UEFI implementation that is entirely open
source and is built using the UEFI framework. This can be found online by searching
for Galileo UEFI firmware.
Discovering Diverse Content Through
Random Scribd Documents
Carney, Pte., i. 17
Carnières, i. 319, 321
Carnoy, i. 163, 175, 187, 200; ii. 94, 103, 105, 111
Carroll, Pte. J., i. 149; ii. 280
Carroll, Lance-Cpl. J., M.M., i. 193; ii. 280
Carroll, C.S.M.P.A., i. 129
Carton, C.S.M. H., i. 59, 81, 169
Carver, 2nd Lieut. L. H. L., i. 257-258, 276; ii. 218
Cary-Elwes, Lieut. W. G., ii. 169, 176, 219
Casey, Capt. Rev. Father, i. 176
Cassel, i. 211; ii. 66
Cassidy, 2nd Lieut. M. B., ii. 199, 219, 223
Castlerosse, Capt. Viscount, i. 3, 11; ii. 91, 223
Caterham, i. 181, 190; ii. 206
Caterpillar Wood, i. 157
Cattenières, i. 311
Caudescure, ii. 197
Cavalry, British:
at Ypres, i. 25, 29, 36, 39, 40, 41, 45;
at Loos, i. 107;
on the Somme, i. 164, 239, 244, 245, 246; ii. 98, 99, 129
Cavan, Major-Gen. the Earl of, K. P., K.C.B., i. 23, 39, 48, 54, 86, 91, 92, 93,
107, 128, 132, 159, 160, 162, 175, 182; ii. 7, 30, 46
Central Boyau, ii. 16
Ceylon Avenue, i. 255
Chalk-Pit, the, Loos, i. 107, 109, 111
Chalk-Pit Wood, Loos, ii. 10, 11, 12, 13, 14, 16
Charleroi, i. 329; ii. 211
Charly, Marne crossed at, i. 16
Chasseur Farm, i. 220; ii. 139
Chatillon, i. 9
Chaulnes, i. 197
Chavonne, i. 23
Chelers, ii. 190
Chérisy, i. 260
Cherry, Sgt. Drummer W., i. 129
Cheshire Regt., ii. 168
Chichester, Major Hon. A. C. S., D.S.O., O.B.E., i. 132; ii. 66, 69, 75, 223, 224,
226
Chocques, i. 87, 121
Christmas celebrations:
(1914) i. 51;
(1915) i. 128; ii. 45-46, 47;
(1916) i. 191, 199, 332; ii. 115, 116;
(1917) i. 250; ii. 180;
(1918) i. 332
Christy, Lieut. S. E. F., i. 111, 127, 129, 152; ii. 218, 221
Cinema films taken in front line, ii. 49-50
Citadel Camp, i. 174, 175, 181; ii. 103
Cité St. Auguste, i. 107
Cité St. Elie, i. 107
Clairmarais, Forest of, i. 211
“Clarges Street,” i. 231
Clerk’s Keep, i. 120
Cléry, i. 262
Clifford, 2nd Lieut. W. F. J., ii. 11, 14, 219
Close, Lieut. B. S., i. 304, 308; ii. 76, 99, 163, 167, 203, 205, 218, 222
Close, Capt. P. H. J., i. 87, 88
Cointicourt, i. 16
Cojeul valley, the, i. 273, 280, 288
Coke, Lieut. L. S., i. 19, 37; ii. 218
Coldstream Guards:
1st Battalion:
(1915) Loos, the Hohenzollern trenches, ii. 9, 12, 21, 28, 35;
Laventie, ii. 37, 42, 43, 44, 46
(1916) Laventie, ii. 49, 51, 52, 53, 54, 60;
Ypres, ii. 69, 74, 76, 77, 82, 89, 90;
the Somme: Ginchy, ii. 93, 96, 97, 99, 100, 105, 107
(1917) the Somme: Rancourt, ii. 121, 126, 128;
Yser Canal, i. 216, 221; ii. 136, 146, 151, 152, 153;
the Somme: Bourlon Wood, i. 241; ii. 173, 174
(1918) the March Push, i. 263, 266;
the offensive, i. 289
Eton football played by, ii. 180
Pierrot troupe of, ii. 163
2nd Battalion:
(1914) i. 1, 4;
Mons, i. 5, 7;
the retreat and the advance to the Aisne, i. 14, 15, 16;
Ypres, i. 26, 30, 31, 51
(1915) La Bassée, the Brickfields, Cuinchy, i. 54, 57, 58, 59 sqq., 89, 94;
Neuve Chapelle, i. 73;
Loos, i. 109, 115, 116, 120
(1916) i. 146;
the Somme: Ginchy, Lesbœufs, i. 156, 164, 165 sqq., 181
(1917) the Somme: Sailly-Saillisel, i. 205;
Yser Canal and the Broembeek, i. 213, 231; ii. 156, 166;
the Somme: Gouzeaucourt, i. 244; ii. 178
(1918) the Scarpe, the March Push, i. 258, 264, 273, 274, 279;
the Somme offensive, St. Léger, i. 286, 289, 290, 294;
the advance on Maubeuge, i. 311, 317, 318, 323
3rd Battalion:
(1914) i. 4;
Mons, i. 5, 7;
Landrecies, i. 7;
the advance to the Aisne, i. 16, 19, 21, 23;
Ypres, i. 35, 46
(1915) La Bassée, the Brickfields, Cuinchy, i. 54, 58, 61, 62, 67;
Neuve Chapelle, i. 70;
Givenchy, i. 80;
Loos, i. 110, 115, 118;
Laventie, ii. 32, 34
(1916) Ypres, i. 152;
the Somme: Ginchy, Lesbœufs, i. 156, 164, 165 sqq., 178, 180, 81
(1917) the Somme: Sailly-Saillisel, i. 220;
Yser Canal and the Broembeek, i. 214, 218, 220, 231, 232; ii. 143, 144,
153, 158;
the Somme: Gouzeaucourt, Gauche Wood, i. 244, 246
(1918) in Fourth Guards Brigade, i. 208; ii. 180 n., 184;
the Somme: March Push, ii. 187;
Vieux-Berquin, ii. 193, 194, 195, 196, 197, 202;
the advance, ii. 209, 210
Pantomime produced by, i. 208
Cole, Sgt., ii. 116, 117
Collett, Lieut. H. A. A., M.C., i. 250, 254, 303, 305; ii. 224, 233
Cologne, advance to and occupation of, i. 329-332, 333; ii. 211-214
Colquhoun, Capt. Sir I. (Scots Guards), ii. 101, 128
Colt Reserve trench, i. 259
Combles, i. 161, 190, 191, 206; ii. 96, 112, 114, 119, 120
Comesky, Lance-Sgt., ii. 22
Commanding Officers, 1st Battalion Irish Guards, list of, i. 333
Commanding Officers, 2nd Battalion Irish Guards, list of, ii. 216
Communal College, Arras, i. 261
Communication-trench, the first, i. 18
Conaboy, Sgt., i. 305, 306
Concrete block-houses, German, i. 217, 219; ii. 138, 155
Connaught, Field-Marshal H.R.H. the Duke of, K.G., i. 186, 236, 278; ii. 107,
168
Connaught Rangers, i. 23, 35
Connolly, 2nd Lieut. H. A., i. 295; ii. 218, 223
Conroy, Pte., ii. 157
Contalmaison, i. 157, 262
Convent, the, Ypres, ii. 68
Cook, 2nd Lieut. (4th Connaught Rangers), i. 155
Cooper, Brig.-Gen. R. J., C.B., C.V.O. (M.E.F.), ii. 220
Cooper, Lance-Cpl. W., D.C.M., i. 225; ii. 279
Corbie, ii. 119, 134
Cordite Reserve trench, i. 254, 255
Corry, Colonel (Grenadier Guards), ii. 7, 34
Corry, Lieut. T., D.C.M., i. 112, 226, 234; ii. 222
Cortecan, i. 13
Cotterel-Dormer, Lieut. (Coldstream Guards), i. 17
Coucy-le-Château, i. 10
Couin, ii. 93
Cour l’Avoine Farm, i. 83, 84-85
Courcelette, i. 195, 262
Courcelles, i. 16, 288; ii. 171, 188
Courtrai, i. 28
Cousins, Lance-Cpl. A., M.M., i. 183; ii. 280
Couteleux, i. 75
Coxon, Lieut. R. E., ii. 25, 30
Coyne, Lance-Cpl. F., M.M., i. 225; ii. 281
Craonne Farm, i. 234
Crawford, Lieut. G. L., ii. 105, 151, 222
Creil, i. 26
Crépy-en-Valois, i. 6
Crespigny, Gen. C. R. C. de, i. 228; ii. 99
Crewdson, Capt. B. F., i. 250
Crichton, Major H. F., i. 2, 4, 11; ii. 217
Cricket matches, Barly, ii. 205, 206
Criel Plage, ii. 207-210
Croisilles, i. 206, 288
“Crump, The,” ii. 65
Crump Trench, i. 254, 255
Cuinchy, fighting round, i. 50, 57, 58 sqq., 93 sqq., 106, 112
Cunningham, Capt. A. F. S. (Grenadier Guards), i. 169
Curlu, i. 209; ii. 133
Curran, Sgt., ii. 110
Curry, C.S.M. T., i. 81
Curtis, Sgt. P. J., i. 129
Cuthbert, Capt. (Scots Guards), ii. 11
Dagger, Lieut. R. L., i. 305; ii. 205, 221
Dalton, Lieut. J. W., ii. 155, 188, 221
Dame, 2nd Lieut. J. W. M., ii. 163, 219
Dames-Longworth, Lieut. T. R., i. 205
Dancing-lesson, a tragic, in Gouzeaucourt, i. 245-246
Davis, 2nd Lieut. Rhys (U. S. A. Medical Service), i. 306-307; ii. 218
Dawson, Capt. H. (Coldstream Guards) i. 46
Dead End, i. 126; ii. 49
Decorations awarded to Irish Guards: Officers, ii. 224-234
W.O.’s, N.C.O.’s, and men, ii. 279-284
1st Battalion, i. 48, 49, 53, 60, 64, 78, 146, 149, 183-184, 224-225, 228,
237, 278, 287
2nd Battalion, ii. 39, 106, 156
Delaney, Lance-Cpl. W., D.C.M., i. 53; ii. 279
De Lisle, Gen. Sir H., K.C.B., D.S.O., ii. 163
Delville Wood, i. 157, 161; ii. 109
Demicourt, i. 239, 240, 260, 362, 309, 310
De Moleyns, Lieut. A. F. D., ii. 154, 155, 222
Dempsey, Pte., i. 99
Denson, Lieut. P. G., ii. 90, 115, 116, 117, 221
Dent, Capt. E. D., ii. 196, 199, 218
Dernancourt, i. 267
De Salis, Lieut. Count J. E., i. 174; ii. 221
Destremont Farm, i. 195
Deuillet, i. 10
De Wippe Cabaret, ii. 142
Digby, Capt. Hon. K. (Coldstream Guards), ii. 99
Divisional Entrenching Battalion, ii. 40
Divisions in the line, differences in behaviour among, i. 144
Dohem, ii. 6, 7
Doignies, i. 239, 240
Dolan, Sgt., D.C.M., Méd. Mil., i. 287; ii. 279, 283
Dollar, Lieut. J. B., ii. 94, 103
Donoghue, Pte., ii. 150
Donohoe, a/C.S.M. P., M.M., i. 224; ii. 281
Donolly, a/C.S.M., J., i. 129
Doolan, Sgt. P., M.M., i. 183; ii. 281
Dormer, Capt. K. E., i. 87, 88, 129
Double Crassier, Le, i. 106, 107
Douchy, i. 295
Doullens, i. 265, 271
Douteuse House, i. 218
Dowler, Lieut. E. H., i. 234; ii. 222
Draibach, i. 229
Drainage system in trenches, ii. 41-42
Drionville, i. 105
Drocourt-Quéant Switch broken, i. 295
Dromesnil, i. 186
Drouvin, ii. 20
Drums:
1st Irish Guards, i. 8, 136, 137, 186, 204, 320, 329, 331; ii. 38;
2nd Irish Guards, ii. 35, 38, 93, 163
Drunkenness infrequent in the ranks, i. 122
Drury-Lowe, Captain (Grenadier Guards), i. 180
Duck’s Bill Trench, i. 75
Dug-outs, first mention of, i. 44
Duke of Cornwall’s Light Infantry, i. 171; ii. 198
Dulwich Camp, i. 226; ii. 163, 167
Dummies, use of, in front line, ii. 55, 57, 62
Dumps, destruction of, in March Push, i. 262, 309; ii. 187
Dunne, Pte., ii. 90
D’Untal, General, i. 112
Durant, Lieut. N. F., i. 87, 88, 245, 249; ii. 176, 218
Durham Light Infantry, ii. 102
Earle, Capt. J. W. A., i. 147
East Anglian Field Coy., R. E., i. 85
East Lancashire Regt., i. 255; ii. 189
East Yorkshire Regt., ii. 15
Eaucourt l’Abbaye, i. 195
Ebenezer Farm, i. 130
Ecoust-St. Mein, i. 289, 292, 296
Ecques, i. 237; ii. 170
Ecurie Camp, ii. 186
Edinburgh Support Trench, i. 298
Egypt House, i. 232
Ehrenfeld, ii. 213
Eiloart, 2nd Lieut. C. H., ii. 219
Elverdinghe, i. 148, 213, 217, 222, 224, 225, 230, 231, 235; ii. 84, 136, 137,
154, 156, 168
Elverdinghe Château, i. 148; ii. 84, 89, 90, 136
Englebelmer, i. 156
Eperlecques, i. 104, 236
Epluches, i. 26
Erith Street, ii. 40
Ermenonville, i. 13
Ervillers, i. 288; ii. 188
Esbly, i. 13
Escarmain, i. 315
Esquelbecq, ii. 91
Essars, i. 51
Essex Regt., 11th, i. 147;
8th, ii. 163
Estaires, i. 125; ii. 47, 192, 193
Etaples, i. 26
Eton dinner, the, i. 89, 147
Eton football match, ii. 180
Etreux, i. 4, 7, 8
Etricourt, i. 209, 249; ii. 178
Everard, Capt. W. J. J. E. M., i. 42, 44
Eyre, Lieut. H. J. B., i. 216; ii. 218
F post on the Scarpe, i. 254, 268
Fallows, 2nd Lieut. E. H., ii. 219
Fampoux, ii. 182, 185
Fampoux Trench, i. 259
Fanshawe, 2nd Lieut. H. V., i. 207, 234; ii. 218
Faraday, 2nd Lieut. J. A. M., M.C., i. 278, 287; ii. 222, 224, 232
Farbus, ii. 186
Farrell, C.S.M., i. 164
“Fatigues,” moral effect of, i. 98, 116, 192-193, 222, 237; ii. 72, 79
Faulkner, 2nd Lieut. W. D., M.C., ii. 164, 176, 205, 207, 224
Fawcett, Sgt. J., i. 129
Feilding, Maj.-Gen. Sir G., C.M.G., D.S.O., i. 92, 94, 103, 124, 128 n., 130, 185,
189, 220, 296, 300; ii. 7, 9, 20, 22, 31, 106, 143
Ferguson, Major R. H., i. 19, 21, 31, 33, 37; ii. 145, 147, 148, 153, 154, 157,
159, 182, 183, 216, 220
Fergusson, Maj.-Gen. Sir C., K.C.M.G., D.S.O., ii. 180 n., 191, 213
Ferme Beaulieu, ii. 203
Ferme Gombert, ii. 194, 196
Ferme le Cas Rouge, i. 15
Fesmy, i. 4
Festubert, i. 50, 57, 106;
Battle of, i. 82-86
Fins, i. 208, 249; ii. 178
Fish Avenue, i. 299
Fismes, i. 26
FitzClarence, Brig.-Gen. C., V.C., i. 43; ii. 217
Fitzgerald, Capt. A. H. B., i. 16
FitzGerald, Major Lord Desmond, M.C., i. 2, 11, 46, 50, 81, 88, 93, 98, 112,
117, 118, 120, 127, 128, 132, 135, 136; ii. 46, 64, 217, 219, 224
FitzGerald, Lieut. D. J. B., i. 129, 236, 250, 265; ii. 154, 155, 161, 222
FitzGerald, Capt. J. S. N., M.B.E., M.C., i. 2, 17, 42, 72, 81, 86, 88, 114, 153; ii.
15, 29, 36, 64, 84, 90, 93, 99, 114, 224
FitzGerald, Capt. M. R., ii. 102, 194, 197, 199, 219, 223
Flag Ravine, i. 247
Flammenwerfer demonstrations, i. 133
Flanders, British forces moved to, i. 25-26, 27
Fleming, Major C. F., i. 153
Flers, i. 168, 169, 201; ii. 96
Flesquières, i. 242, 243, 252, 301, 305, 307, 310; ii. 171, 172, 173
Foch, Marshal, i. 112, 265, 270, 283; ii. 207
Folembray, i. 10
Follett, Lieut.-Col. G. B. S., i. 240
Fontaine-au-Tertre, i. 313
Fontaine-Notre-Dame, i. 239, 240, 241, 242, 301; ii. 171, 172, 173, 175
Fontenay, i. 14
Fontenoy, a manœuvre of, i. 327
Football matches, i. 69, 185, 250, 320; ii. 65, 66, 106, 180-181, 212
“Forked Tree” camp, i. 189
Formidable, H.M.S., signal from, i. 2
Fort Rouge, i. 211
Foster, Capt. (Coldstream Guards), ii. 196
Fourché Farm, ii. 53
Fowkes, Major (R.E.), i. 62
Fowler, Lieut. (R.F.A.), i. 294
Fox, Lieut. V. W. D., i. 65, 81, 85; ii. 218
Frasnoy, i. 324
Frégicourt, i. 206; ii. 119
French, Field-Marshal Sir John, G.C.B., i. 29, 46, 102, 104
French, 2nd Lieut. V. J. S., i. 310, 312, 314; ii. 218
French forces in action:
Ypres (1914), i. 31, 32, 34, 37, 39, 40;
Cuinchy, i. 61, 62, 67, 68, 113;
Loos, i. 109;
Arras, i. 112;
the Somme, i. 161, 162, 189, 195; ii. 96, 112;
Ypres (1917) i. 213, 218, 230, 237; ii. 142, 145, 152, 153, 154, 166, 168;
(1918 offensive), i. 282, 283, 284; ii. 207
Fresnoy, i. 285
Frezenberg, i. 222
Fricourt, i. 154; ii. 92
Gamble, 2nd Lieut. R., M.C., ii. 224
Gas, first use of, at Ypres, i. 79-80; ii. 58
Gas-attack, Laventie, arrangements for, ii. 41, 42-45
Gas-helmets:
their subduing effect, i. 124;
unpopularity of, ii. 183, 203
Gatti, 2nd Lieut. J. A. S., M.C., ii. 222, 224, 230
Gauche Wood, i. 246, 247, 248; ii. 178
Gavrelle, i. 252
George V., H. M. King, i. 47, 49, 121, 156; ii. 93, 104, 139
Germaine, i. 206
Germany, entry into, i. 331; ii. 212
Gheulvelt, i. 35
Gibraltar, a German battle-honour, ii. 148
Gibraltar Post, i. 56
Gibson, Lieut. T. C., O.B.E., i. 159, 164, 177; ii. 160, 163, 221, 224
Ginchy, i. 161, 162, 163, 165-174, 175; ii. 95, 96, 97-103, 109, 132, 178
Givenchy, i. 71, 73, 77, 90
Givenchy-en-Gohelle, i. 113
Givet, i. 329
Glennon, Sgt., ii. 90, 110
Gloucestershire Regt., ii. 199
Glynn, Sgt. J., D.C.M., i. 48, 129; ii. 279
Goat, the mascot, in Metz cellars, i. 242-243 n.
Godley, Maj.-Gen. Sir A. J., K.C.B., K.C.M.G., i. 212
Godman, Colonel (Scots Guards), ii. 99, 128
Gomiecourt, i. 197, 201, 202, 238; ii. 92
Gonnelieu, i. 238, 239, 243, 246-247, 248, 250, 251, 252; ii. 170, 177
Gordon, Lieut.-Col. A. F. L., D.S.O., M.C., i. 87, 88, 99, 129, 136, 181, 184, 228,
255, 256, 257, 268, 273, 277, 310, 314, 320; ii. 204, 216, 222, 223, 225
Gordon Camp, i. 259
Gordon Highlanders, i. 36, 37, 294; ii. 183;
advice on pipers’ kilts sought from, ii. 157
Gore-Langton, Capt. M. V., M.C., i. 24, 39, 87, 88, 97, 99, 116, 122; ii. 217, 220,
225, 226
Gort, Lieut.-Col. Viscount, V.C. (Grenadier Guards), i. 307, 308; ii. 7
Gotha Trench, i. 205
Gough, Capt. E. J. F., i. 2, 19, 24, 44, 50, 52; ii. 217
Gough, Capt. G. P., i. 46, 50, 51; ii. 220
Gough, Capt. Hon. H. W., M.C., i. 3, 53; ii. 219, 225
Gouzeaucourt, i. 242-246, 250, 251, 252, 260, 309; ii. 177-178, 179
Gouzeaucourt Wood i. 247, 249; ii. 177, 178
Grady, C.Q.M.S.R., i. 81, 129
Graham, Lieut. F. F., i. 55, 60; ii. 220
Graincourt, i. 240, 301, 307, 308; ii. 173, 176
Grand Loge Farm, i. 14
Grandcourt, i. 197, 198, 200
Gravenstafel spur, the, i. 229
Grayling-Major, Lieut. J., i. 87, 88, 111, 129; ii. 220
Grayson, Lieut. R. H. S., i. 235; ii. 14, 220
Greaney, Sgt. M., i. 129
Green, 2nd Lieut. (Coldstream Guards), ii. 43
Greenfield, Major T. W. B., D.S.O., ii. 224
Greer, Lieut.-Col. E. B., M.C., i. 2, 17, 35, 58, 190; ii. 40, 51, 69, 75, 91, 94,
119, 128, 143, 145, 146, 147 n., 151, 152, 154, 216, 218, 220, 225
Greer, Lieut. F. St. L., M.C., ii. 88, 98, 99, 106, 124, 219, 225
Greer, Lieut. J. K. M., M.C., i. 85, 147, 164, 167; ii. 218, 220, 225
Grenadier Guards:
1st Battalion:
(1915) Laventie, ii. 57
(1917) Yser Canal and the Broembeek, i. 220, 233-234
(1918) Arras, i. 257;
Prémy Chapel, i. 307, 308
Drums of, ii. 204
2nd Battalion:
(1914) i. 1, 4;
Mons, i. 5, 7;
Soupir, i. 16, 19, 20, 23;
Ypres, i. 26, 30, 33, 35, 36, 39, 43, 45, 51
(1915) La Bassée, Cuinchy, i. 54, 58, 61, 64, 89, 94;
Neuve Chapelle, i. 71;
Festubert, i. 83, 84;
Loos, i. 109, 114, 115, 116
(1916) Ypres, i. 139, 142, 145, 152, 153; ii. 76, 77, 78;
the Somme: Ginchy, Lesbœufs, i. 156, 164, 169, 179, 180, 181, 182; ii.
99, 104
(1917) the Somme: Sailly-Saillisel, i. 190; ii. 112, 115;
Yser Canal and the Broembeek, i. 231, 232, 233, 234; ii. 152;
the Somme: Gouzeaucourt, Gauche Wood, i. 244, 246
(1918) the Scarpe: the March Push, i. 254, 256, 257, 259, 266, 276, 279;
St. Léger, i. 289, 290, 294;
the Canal du Nord, i. 307;
the advance on Maubeuge, i. 311, 317, 318-319, 323, 325, 328
Boxing matches with 1st Irish Guards, i. 69
Brigade Platoon Competition won by, i. 208
3rd Battalion:
(1914) i. 1
(1915) Cuinchy, i. 61;
Loos, the Hohenzollern, Laventie, ii. 10, 18, 34
(1916) the Somme: Ginchy, ii. 96, 97, 100, 107-108
(1917) Yser Canal, i. 221; ii. 136, 149;
the Somme: Bourlon Wood, i. 241; ii. 173
(1918) the Scarpe, i. 243;
the advance on Maubeuge, i. 324, 327
Boxing competitions, ii. 80
4th Battalion:
(1915) formation, ii. 1;
Laventie, i. 125
(1916) Laventie, ii. 49;
the Somme, ii. 94-95
(1917) the Somme: Sailly-Saillisel, i. 205;
Bourlon Wood, i. 241;
Gouzeaucourt, i. 244
(1918) in Fourth Guards Brigade, i. 253; ii. 180 n., 184;
Arleux, ii. 185;
the Somme: March Push, ii. 187, 188;
Vieux-Berquin, ii. 193-194, 195, 196, 201;
the advance, ii. 208, 210
Grenay, i. 106, 112
Grévillers, i. 197, 262
Gricourt, i. 309
Grimwood, C.S.M., ii. 141
Grougis, i. 4
Gruyterzaele Farm, ii. 166
Guards Brigade:
4th (Guards) Brigade, i. 1, 4, 5-6, 8, 9 sqq., 103, 283;
becomes 1st Guards Brigade of Guards Division, i. 101, 102
4th Guards Brigade created, i. 253, 258; ii. 180 n., 184;
its stand at Vieux-Berquin, ii. 197, 201;
as a training corps, ii. 205, 207.
Guards Division, formation of, i. 101;
(1919) march through London, ii. 215-216, 222
Guards Machine-Gun Regt., i. 290, 292, 303, 307
Guernsey, Lieut. Lord, i. 3, 17; ii. 218
Gueudecourt, i. 162, 180, 202; ii. 96, 104, 107
Guildford Street, ii. 22, 23
Guillemont, i. 161, 163, 190; ii. 97, 103
Gunston, Major D. W., M.C., i. 55, 321; ii. 114, 145, 147, 148, 153, 225
Gurkha Regt., 9th, i. 51
Gusty Trench, ii. 109
Guthrie, Capt. J. N., i. 2, 17, 81, 85; ii. 217, 219
Gwynne, Capt. Rev. Father J., i. 46, 50, 54, 63, 73, 81, 87, 94-95, 117, 118,
119, 132; ii. 218
Hague, Ian, ii. 80
Haie Wood, ii. 113, 114, 117
Haig, Field-Marshal Sir Douglas, G.C.B., i. 47, 102, 103, 237, 253, 269; ii. 64,
168, 180, 201
Haisnes, i. 106, 107, 108
Haking, Lieut.-Gen. Sir R., G.B.E., K.C.B., i. 105; ii. 6, 7
Hall, Lieut.-Col. Sir J. R., Bart, C.B.E., ii. 223
“Hallam, Basil,” ii. 94
Halligan, 2nd Lieut. J. (2nd Leinster Regt.), i. 105, 146
Hally Avenue, i. 289
Halpin, Sgt., ii. 90
Ham, i. 6, 262
Hamel, i. 282; ii. 206
Hamel Switch, i. 288, 295
Hamelincourt, i. 263, 286, 287; ii. 187
Hamilton, Capt. Lord John, i. 2, 41; ii. 217, 223
Hammond, 2nd Lieut. C. E., M.C., i. 236; ii. 225, 229
Hampshire Regt., i. 233
Hanbury, Capt. C. E. R., i. 129, 135; ii. 119, 123, 145, 153, 167, 218, 221
Hanbury-Tracy, Capt. Hon. W. C., i. 42, 44
Hannay, Capt. R., ii. 29, 30, 144, 221
Hanoverian Fusiliers, 73rd, ii. 149
“Happy” Battalions, the mystery of, ii. 53, 168, 216
Happy Valley, ii. 94
Haquin, ii. 8
Hardecourt, i. 157
Harding, Capt. C. R., O.B.E., i. 19, 43; ii. 220, 224
Hargnies, i. 4
Hargreaves, Capt. L. R., M.C., i. 42-43, 44, 50, 52, 87, 88, 105, 159, 163, 164,
169, 176, 180, 181; ii. 217, 221, 225
Harmignies-Mons road, i. 5, 6; ii. 215
Harmsworth, Capt. Hon. H. A. V. St. G., M.C., i. 47, 50, 98; ii. 169, 176, 218,
220, 222, 225, 229
Harpies River, i. 318
Harradine, C.S.M., D.C.M., i. 38, 53, 81; ii. 90, 279
Harrington, Pte. i. 17
Harrison, 2nd Lieut. S. S., M.C., ii. 222, 225, 228
Hartmannsweillerkopf operations, lecture on, ii. 47
Harveng, i. 5.
Harvey, Capt. E. M., M.C., i. 185, 234, 278, 314, 317, 319; ii. 222, 225, 228
Harvey, Capt. F. M., M.C. (R.A.M.C.) ii. 106, 115
Harvey, Colonel J. (Post Office Rifles), i. 74
Haussy, i. 315
Haute Rièze, i. 121
Haviland, Lieut.-Col. R. S. de (Eton O.T.C.), i. 76
Havre, Le, i. 3; ii. 3
Havrincourt, i. 310
Havrincourt Wood, i. 239
Hay, Capt. Lord Arthur, i. 3, 17; ii. 217
Haydon, 2nd Lieut. J. C., i. 269, 314
Haymarket, the, Ypres, i. 138
Hazebrouck, i. 26, 27, 133, 270, 283; ii. 47, 91, 191, 198, 201, 202, 204
Heard, Lieut. R. H. W., M.C., i. 82, 86, 88, 115; ii. 105, 197, 219, 220, 230
Heaton, 2nd Lieut. G. T., i. 290, 294; ii. 223
Hébuterne, ii. 92
Hegarty, Capt. D. J., M.C., i. 147, 290, 291, 314; ii. 221, 225, 231
Hell Fire Corner, i. 138, 142; ii. 77, 79
Hely-Hutchinson, Capt. M. R., M.C., ii. 95, 115, 145, 170, 225
Hendecourt-les-Ransart, i. 278, 286
Henderson, 2nd Lieut. H. M., ii. 223
Hénin-sur-Cojeul, i. 261, 264
Hennigan, Lance-Cpl. P., D.C.M., i. 64, 153; ii. 279
Henry, Pte. J., D.C.M., i. 97; ii. 279
Herbert, Capt. Hon. A. N. H. M., M.P., i. 2, 11; ii. 223
Herbert-Stepney, Major H. A., i. 2, 9, 14, 15, 19, 34, 42, 334; ii. 217
Hermies, i. 238, 239
Herts Territorials, 1st (“Herts Guards”), i. 51, 54, 58, 63, 71, 85, 90, 92, 93,
102
Herzeele, i. 217, 230; ii. 138, 164
Heudicourt, i. 243
Hey Wood, ii. 147
Hickie, Capt. and Quartermaster H., M.B.E., M.C., i. 2, 4, 44, 50, 81, 88, 128,
191, 212, 330; ii. 224, 225
Higgins, Pte., ii. 25
High Wood, i. 161
Highland Light Infantry, i. 56;
15th, i. 278
Hill 60, i. 77
Hill 69, i. 107
Hill 70, i. 107, 109, 112
Hilley, Pte., ii. 162
Hindenburg Line, the, i. 197, 206, 210, 238, 239, 249;
attacked and broken, i. 295, 300-309; ii. 170, 171
Hine, 2nd Lieut. G. V. B., ii. 16, 17, 219
Hogg, Capt. K. W., i. 87, 88; ii. 220
Hohenzollern Redoubt, the, i. 107, 108, 113, 114-119, 120; ii. 15 sqq.
Hollebeke, i. 29, 37, 222, 228
Holmes, Lieut. H. C., i. 173; ii. 221
Hondeghem, i. 147; ii. 204
Honnecourt, ii. 117
Honsfeld, ii. 213
Hooge, i. 32; ii. 80, 81
Hooge Château, i. 33, 44
Hope, Lieut. W. E., i. 2, 41; ii. 218
Hopley, Capt. F. J. (Grenadier Guards), ii. 99
Hordern, Lieut. H. R., ii. 63, 90, 92, 221
Horne, General Sir H. S., G.C.B., K.C.M.G., i. 87, 100, 103, 104
Hornoy, i. 185, 186; ii. 107
Horse-shows, Brigade, i. 211, 278
Horton, Pte., ii. 23
Houbinghem, ii. 157
Hougoumont, Laventie, i. 126
Houlle Camp, ii. 168, 170
Household Battalion disbanded, i. 259; ii. 186
Household Cavalry, i. 41
Houthulst Forest, i. 225, 229, 231, 232, 235; ii. 154, 156, 158, 164
Hubbard, Capt. G. N., i. 49; ii. 8, 24, 26, 29, 32, 221
Hudson-Kinahan, Lieut. D. D., ii. 20, 29, 71, 219
Hughes-Onslow, Capt. O., i. 2
Hulluch, i. 106, 107, 108, 109, 110, 112, 113, 116, 117, 118
Hunt, 2nd Lieut. A. G., ii. 219
Hunter Street, ii. 139, 142
Hutchinson, 2nd Lieut. A. E., M.C., i. 278, 294; ii. 223, 225, 231
Hyderabad Support Trench, i. 258
Hyne, Lieut. C. G. H. C., ii. 90, 102, 219, 221
Indian troops in France, i. 51
Innes, Lieut. A. C. W., M.C., i. 47, 50, 60, 62, 173; ii. 221, 225, 226
Innes-Ker, Major Lord Robert, i. 3, 11; ii. 223
International Corner, ii. 138
Irish Guards:
1st Battalion:
Commanding Officers of, i. 333
(1914) mobilization, i. 1;
Havre, i. 3:
Vadencourt, i. 4;
march towards Mons, i. 4-5;
Mons, i. 5-6;
the retreat, Villers-Botterets, i. 6-14:
advance to the Aisne, Boitron Wood, i. 14-18;
Soupir, i. 18-25:
the Salient and First Battle of Ypres, i. 26, 30-46; ii. 67-68:
Meteren, i. 46-51;
Cuinchy, i. 50-52
(1915) Cuinchy, the Brick-stacks, i. 53, 54-56, 57, 58-69;
Neuve Chapelle, Givenchy, i. 69, 70, 75, 76, 77, 78-79, 81-82;
Festubert, i. 82-86;
Nœux-les-Mines, i. 88-89:
Sailly-Labourse, i. 89-91:
Annequin, i. 91, 94;
Béthune, i. 91-93;
Cuinchy, the Brick-stacks i. 93-100;
St. Omer, i. 102:
Thiembronne, i. 104-105, 107;
meet 2nd Battalion at St. Pierre, i. 105; ii. 5-6;
Loos, Vermelles, i. 110-112;
Hohenzollern Trenches, i. 113-119;
Vermelles, i. 120-121;
Laventie, i. 123-129; ii. 38;
La Gorgue, i. 125, 128
(1916) Merville, i. 130, 131; ii. 46, 56;
Laventie, i. 127;
Ypres Salient, i. 132-134;
Calais, i. 134-135; ii. 64;
Ypres Salient, i. 137-150, 152-155;
the Somme: Vauchelles-les-Authies, i. 155-156, 159;
Louvencourt, i. 156-157:
Méaulte, i. 160;
Ginchy, i. 163-174, 175, 176, ii. 97;
Lesbœufs, i. 177-182; ii. 104;
Hornoy, i. 185-186;
meet 2nd Battalion at Aumont, ii. 106:
Méaulte, i. 187, 188-190;
Lesbœufs, Sailly-Saillisel, Combles, i. 187, 189-192; ii. 111-112, 119
(1917) the Somme: Méricourt l’Abbé, i. 199-200;
Rancourt, i. 200, 203-4;
Sailly-Saillisel, i. 205, 206; ii. 128, 130;
Le Transloy, i. 207;
Bronfay, i. 207;
Etricourt, i. 209;
Curlu, i. 209;
St. Omer, i. 311;
Ypres Salient: Boesinghe, i. 213-223;
Third Battle of Ypres, crossing of the Broembeek, Houthulst Forest, i.
224, 225-226, 230-235;
the Somme: Bayenghem-les-Eperlecques, i. 236-237:
Cambrai offensive, i. 238-241:
Gouzeaucourt Gonnelieu, i. 242-249; ii. 177-178;
Beaumetz-les-Loges, i. 249, 250
(1918) Arras and the Scarpe, i. 252, 253-259;
March Push: Boisleux-St. Marc, Hamelincourt, Boiry-St. Martin, i. 261-
269;
Saulty, Ayette, i. 271, 273-276:
Monchy, Bavincourt, Saulty, i. 276, 277-278;
Hendecourt, i. 278, 286;
Hamelincourt, i. 287-288;
St. Léger, i. 289-294:
Lagnicourt, Mœuvres, i. 296-297, 298, 299;
the Canal du Nord, Flesquières, i. 300, 301-309:
Demicourt, i. 308, 310;
Seranvillers, Beauvais-les-Cambrensis, Bévillers, Quiévy, i. 311-315:
the rivers round Maubeuge, i. 316-317;
St. Python, i. 317-321:
the Rhônelle crossing, i. 323-325:
Vavai to Assevant, i. 325-327:
the Armistice, i. 327-328;
Maubeuge, i. 328-329;
the journey to Cologne, i. 329, 332, 333
2nd Battalion:
a “happy” Battalion, ii. 53-54, 168, 216
Commanding Officers of, ii. 216
(1915) formation, ii. 1-3;
leaves England, i. 101; ii. 3;
Havre, ii. 3;
Acquin, ii. 4, 7;
meet 1st Battalion at St. Pierre, i. 104: ii. 5;
Linghem, Haquin, ii. 8;
Le Rutoire, ii. 8-9;
Loos, Chalk-Pit Wood, ii. 9-15;
Verquigneul, ii. 14;
Vermelles, the Hohenzollern, i. 119, 120; ii. 15-28, 30;
Bourecq, ii. 29-30;
La Gorgue, ii. 30, 34;
Laventie, ii. 31-33;
Merville, ii. 35;
Laventie, ii. 36-38, 39-46;
La Gorgue, Merville, ii. 38-40, 46-47
(1916) Laventie, ii. 49-55, 57-58, 60-62;
La Gorgue, ii. 56, 62-63;
Merville, ii. 59-60;
Wormhoudt, Poperinghe, ii. 63, 66-67;
Calais, ii. 64-66;
Ypres Salient, ii. 66-74, 75-79;
Poperinghe, ii. 73;
Brandhoek, ii. 76;
Proven, Bollezeele, ii. 80-81, 91;
Hooge, ii. 81-83;
Vlamertinghe, ii. 83-84;
Elverdinghe, the Yser Canal, ii. 84-89;
Camp P., ii. 90;
the Somme: Lucheux, Mailly-Maillet, Couin, ii. 92-94;
Méricourt l’Abbé, ii. 105;
Ginchy, ii. 95-96, 97-103;
Carnoy, ii. 103;
Lesbœufs, i. 181; ii. 103-104;
Trônes Wood, Carnoy, Méricourt-en-Vimeux, ii. 105-107;
meet 1st Battalion at Aumont, ii. 106;
Méaulte, Trônes Wood, ii. 108;
Lesbœufs, Sailly-Saillisel, Combles, Haie Wood, i. 190, 191; ii. 111-112,
114-118;
Bronfay, ii. 113-114
(1917) the Somme: Corbie, Maurepas, ii. 119;
Rancourt, ii. 119-124, 125-127;
Morval, Ville, Priez Farm, Billon, ii. 124;
St. Pierre Vaast Wood, i. 203; ii. 128-131;
railway and road-work, ii. 131-133;
Curlu, Méricourt l’Abbé, ii. 134-135;
Ypres Salient: Elverdinghe, the Yser Canal, ii. 136-137, 140-146;
Herzeele, ii. 138-139;
Third Battle of Ypres, Boesinghe, ii. 145-152;
the Steenbeek, ii. 152-154;
Porchester Camp, Paddington Camp, Abingley Camp, ii. 154-156;
the Broembeek, Houthulst Forest, ii. 158-162, 164-167;
Dulwich Camp, Putney Camp, Herzeele, Houlle Camp, ii. 163-164, 167-
170;
the Somme: Cambrai offensive, Bourlon Wood, i. 241, 304; ii. 171-176;
Gouzeaucourt, ii. 177-179;
Simencourt, ii. 179-181
(1918) Arras and the Scarpe, ii. 182-184;
transferred to 4th Guards Brigade, i. 253, 258; ii. 184, 185;
Bray, ii. 184-185;
Arleux, ii. 185;
Villers-Brulin, Béthonsart, ii. 186;
March Push: Hamelincourt, Moyenneville, Ayette, ii. 186-189;
Chelers, ii. 190;
Vieux-Berquin, i. 270; ii. 191-202;
Bois d’Avaal, Ferme Beaulieu, ii. 202-203;
Hondeghem, ii. 204;
Barly, Bavincourt, ii. 205-206;
Criel Plage, ii., 207-209;
after the Armistice: Cambrai, Maubeuge, Charleroi, ii. 210-211;
the journey to Cologne, ii. 211-214
(1919) the march through London, ii. 215-216
Irish Rifles, i. 6.
Irish Star made at Ypres, i. 142;
at Le Transloy, i. 207
Irles, i. 202, 262
Iron Cross Captured, i. 64
Iron Cross Kortikaar-Cabaret road, i. 220, 226
Iseghem, i. 28
James, Lieut. G. L. B., ii. 29, 141, 219
Jamrack, 2nd Lieut. A. W. G., i. 250, 258
Jeffreys, Brig.-Gen. G. D., C.B., i. 227
Jewel Trench, i. 289
Joffre, Marshal, i. 13, 15
Johnson Avenue, i. 255
Joyce, Capt. W. J. P., i. 212, 245, 250, 269, 290, 294; ii. 222
Kane, Lieut. J. J., i. 185, 192; ii. 153, 157, 222
Keating, 2nd Lieut. H. S., i. 47, 50, 53, 56; ii. 218
Keenan, Capt. J. B., i. 273, 314, 319, 320; ii. 30, 64, 99, 142, 190, 221
Keep, the, i. 62
Kemmel, i. 269
Kemmel Hill, i. 284
Kemp, Capt. R. B. H., i. 55, 81, 84; ii. 220
Kenny, Pte. M., M.M., i. 183; ii. 281
Kent, 2nd Lieut. G. R., ii. 190, 205
Kerry, Lieut.-Col. the Earl of, M.V.O., D.S.O., ii. 2
Khartum, Bishop of, i. 69
King Edward’s Horse, ii. 129
King, Pte., ii. 122-123
King, 2nd Lieut. N., ii. 219
King’s Liverpool Regt., i. 71;
1st, i. 277;
5th, i. 84;
8th, i. 298
King’s Own Yorkshire Light Infantry, ii. 15, 93;
12th, ii. 202
King’s Royal Rifles, i. 53, 104
Kingston, Capt. the Earl of, i. 37, 55, 184, 190; ii. 220
Kingston, Pte., ii. 23
Kipling, Lieut. J., ii. 11, 14, 219, 223
Kirk, Sgt.-Major J., i. 55, 129, 139
Kitchener, Field-Marshal Earl, K. G., i. 49, 51, 73, 107, 132; ii. 3
Klein Zillebeke, i. 36, 44, 213
Kluck, General von, i. 8
Knapp, Capt. Rev. Father A. H. A., i. 129
Knapp, Capt. Rev. Father S. S., D.S.O., M.C., i. 87, 88, 94, 119, 132; ii. 5, 45,
65, 124, 143, 150, 151, 154, 219
Koch de Gooreynd, 2nd Lieut. A. L. W., i. 310, 314
Koekuit, i. 234; ii. 166
La Bassée, i. 28;
fighting round, i. 57, 58 sqq.; ii. 191
La Brique, i. 145
La Cour de Soupir Farm, i. 16, 18
La Couronne, i. 270; ii. 192, 198
La Crosse, i. 211
La Fère, i. 6, 260
La Flinque Farm, ii. 40, 46
La Gorgue, i. 125, 128, 132; ii. 30, 34, 35, 38, 46, 47, 49, 56-57, 63, 192
La Justice, i. 240, 242; ii. 173, 176
La Longueville, i. 4, 7
Labour Battalions:
the “Broody Hens,” ii. 111;
the Montauban camp, ii. 131
Labour Corps at Gouzeaucourt, i. 243-245
Lagnicourt, i. 296, 302
Lagny, i. 13
Lancashire Farm, i. 148; ii. 87
Lancashire Fusiliers:
10th, i. 133;
20th, i. 235;
24th, i. 271
Lancer Avenue, i. 253-254
Lancers, 12th, i. 147;
21st, ii. 129
Landrecies, i. 6, 7, 8;
the Drum at, i. 8, 136
Lane-Fox, Capt. Rev. Father P. J., i. 132, 135, 136, 185; ii. 64
Langemarck, i. 28, 32, 79;
attack on (1917), i. 224, 228, 229
Langrishe, 2nd Lieut. T. H., i. 105, 111
Lapugnoy, i. 86, 87, 121, 123
Laventie, i. 82, 115, 123-128; ii. 28, 31 sqq., 36 sqq., 49, 58, 69
Laventie East post, ii. 49
Law, Capt. H. F. D’A. S., M.C., i. 98, 111, 127, 186, 219, 221, 224; ii. 204, 222,
225
Lawson, Capt. J. I., M.C. (R.A.M.C.), ii. 230
Le Bertrand, i. 14
Le Cateau, i. 6, 8
Le Cornet Perdu, ii. 194, 197
Lee, 2nd Lieut. F. H. N., i. 148; ii. 218, 221
Lee, 2nd Lieut. L. C. L., i. 47, 50, 59, 60; ii. 218
Lees, Capt. D., D.S.O., M.C. (R.A.M.C.), ii. 150, 156
Leicestershire Regt., ii. 20, 176
Le Mesnil-en-Arrouaise, i. 205, 206
Le Murger Farm, i. 10
Lens, i. 112, 252, 309
Le Plessis, i. 14
Le Préol, i. 72, 79
L’Epinette Farm, ii. 194
Le Quesnoy, i. 6, 321, 322
Le Quesnoy-en-Santerre, i. 197
Le Rutoire Farm, i. 112; ii. 8
Le Sars, i. 195
Lesbœufs, i. 161, 162, 164; ii. 107, 132, 178;
attack and capture of, i. 178-182, 194-195; ii. 96, 101, 102, 103-104, 178
Lesves, i. 330; ii. 212
Le Touquet, i. 204, 212
Le Touret, i. 51, 56, 83, 86
Le Transloy, i. 161, 189, 197, 207; ii. 104, 132, 178
Le Transloy-Arras Salient, i. 197-199, 200, 201, 202
Le Transloy-Loupart line, i. 202
Leuze Wood, i. 161, 162; ii. 96
Levy, Capt. M. B., M.C., i. 121, 129; ii. 164, 180, 194, 199, 225
Lewis, Pte. M., M.M., i. 184; ii. 281
Lierneux, i. 331
Liévin, i. 112
Life Guards:
1st, i. 41;
2nd, i. 40, 41
Lille, i. 70, 321; ii. 22
Lillers, i. 107; ii. 29
Lincolnshire Regt., i. 173
Linghem, ii. 8
Little Willie Trench, ii. 23
Livingstone-Learmonth, 2nd Lieut. J., i. 2
Lloyd, Maj.-Gen. Sir Francis, K.C.B., D.S.O., i. 300; ii. 3, 46
Locon, i. 56, 58
Lofting, 2nd Lieut. H. J., i. 269; ii. 145, 227
London Regt., 3rd, ii. 108;
15th, i. 75, 77
London Territorial Artillery, 2nd, i. 76
Lone Tree, Loos, i. 108, 112; ii. 9
Long-Innes, Major P. S., M.C., i. 55, 59, 129, 164, 173, 183; ii. 189, 220, 225
Longuenesse, i. 146
Longueval, i. 157
Loos:
preparations for, i. 101-102, 105-106; ii. 5-7, 8;
the battle, i. 106, 119; ii. 7, 8-15.
Lord, 2nd Lieut. E. C. G., i. 236, 273; ii. 218
Loupart Woods, i. 197
Louvencourt, i. 156-157
Louvois Farm, i. 234
Lovenich, i. 331
Lowry, C.Q.M.S., J. G., i. 81
Loyal North Lancashire Regt., 1/5th, i. 298
Lucas, Sgt., ii. 110
Lucheux, ii. 92
Lumbres, ii. 4, 6
Lynch-Blosse, 2nd Lieut. F. C. L., ii. 170, 176, 222
Lys, River, German offensive and defeat on, i. 269-271, 281, 282, 283, 285; ii.
201
Lysaght, Lieut. J. L., ii. 93, 99, 155, 161, 169, 226
Lyttelton, Capt. O. (Grenadier Guards), ii. 101
McCalmont, Lieut.-Col. R. C. A., D.S.O., i. 123, 128, 135, 181, 190, 204, 334; ii.
46, 224
McCarthy, Lieut.-Col. A. H. L., D.S.O., M.C. (R.A.M.C.), i. 34, 50, 56, 81, 87, 94,
117, 178
McCarthy, Lance-Sgt. G., ii. 23
McCullagh, Cpl. E., M.M., i. 224; ii. 282
McCusker, a/C.S.M. F., M.M., i. 224; ii. 282
Macdonald, Sgt., M.M., i. 225; ii. 282
Macfarlane, Sgt. R., ii. 169, 283
McGoldrick, C.Q.M.S. P., D.C.M., i. 48, 81, 129; ii. 279
MacGuinn, Sgt., ii. 68
M’Guinness, Sgt., ii. 160
McHale, Lance-Cpl. S., M.M., i. 225; ii. 282
Mackenzie, Lieut. (Scots Guards), ii. 99
Mackwood, 2nd Lieut. E. O., ii. 222
MacLachlan, 2nd Lieut. G. C., i. 269, 272; ii. 222
MacMahon, Lieut. P. S., i. 290, 294; ii. 222
MacMahon, Capt. T. F., M.C., i. 173, 177, 179, 183, 184, 227, 228; ii. 222, 225
McMullen, C.S.M., D.C.M., i. 183; ii. 279
McNally, Sgt., ii. 150
McNeill, Capt. R., ii. 73, 84, 89
McVeigh, C.S.M. H., i. 81, 129
Madden, Lieut.-Col. G. H. C., i. 19, 20, 87, 101, 105, 117, 118, 334; ii. 2, 217,
221
Magnicourt-le-Comte, i. 237
Maher, Lieut. J. C., ii. 180, 199, 219
Mailly-Maillet, i. 156; ii. 92, 93
Maitland, Lieut. G. M., i. 19, 38, 39; ii. 218, 223
Malgarni, i. 7
Malplaquet, i. 326
Maltz Horn Camp, i. 189; ii. 117
Mametz, i. 157
Manancourt, i. 206
Manning, Lieut. B. O. D., ii. 155, 159, 163, 223
Mansell Camp, ii. 108
Mansfield, Pte. J., D.C.M., i. 78
March Push, the, 1918, i. 259-263; ii. 182, 187-190, 200
Marchienne, ii. 211
Marcoing, i. 301, 309; ii. 171
Mareuil-sur-Ourcq, i. 26
Marguerite Farm, ii. 142
Maricourt, i. 200; ii. 92, 115
Marion-Crawford, 2nd Lieut. H., i. 47, 50, 69, 73, 77; ii. 218
Marne River:
battle and crossing of, i. 16;
second battle (1918), i. 282, 283-284; ii. 207
Maroilles, i. 4
Marshall, Lieut. J. N., V.C., M.C., i. 147, 148, 153; ii. 219, 221, 223, 225, 231,
233-234
Martin, Pte. J., M.M., i. 225; ii. 281
Martinpuich, i. 162, 164; ii. 96
Mary, H. M. Queen, i. 51
Mary, H. R. H. Princess, i. 52
Masnières, i. 239, 311
Matheson, Colonel (Herts Regt.), i. 71
Matheson, General T. G., C.B., i. 300, 329, 331
Mathieson, Lieut. G. F., i. 278, 304, 308; ii. 223
Mathieson, Lieut. K. R., i. 39; ii. 218
Mathew, 2nd Lieut. T., M.C., ii. 180, 203, 225, 230
Matthews, O. R. Cr. Sgt. P., i. 129
Matthews, Lance-Sgt. R., i. 108
Maubeuge:
advance on, i. 309 sqq., 316-317, 326-327;
entry into, i. 327, ii. 1;
ceremony in, i. 328-329
Maughan, 2nd Lieut. T. B., i. 269; ii. 222
Maurepas, i. 200, 203; ii. 119, 122
Maxse, Gen. Sir Ivor, K.C.B., D.S.O., ii. 134
Maxwell, Lieut. H. H., i. 185, 217, 234; ii. 221
Mazingarbe, i. 113, 114
Méan, i. 330
Méaulte, i. 160, 188, 189, 199, 204, 262; ii. 108
Meaux, i. 13
Menin, i. 28, 32
Menin road, the, i. 28, 32, 33, 138, 228, 229; ii. 69, 77, 81
Méricourt-en-Vimeux, ii. 105-107, 108
Méricourt l’Abbé, i. 160, 199; ii. 94, 134-135
Merville, i. 123, 130, 131, 269; ii. 35, 36, 47, 59, 191, 193
Messines, i. 269; ii. 135, 169
Messines Ridge, i. 210, 211
Meteren, i. 46-47, 48
Metz-en-Couture, i. 242
Meuse Line, German, i. 328-329
Meuse River, crossing of, i. 330
Michael, H.I.H. Grand Duke, i. 46
Middlesex Regt., 21st, ii. 187
Milligan, Sgt., D.C.M., ii. 151-152, 156, 279
Mills bomb, the, i. 73, 89
Mining operations:
Givenchy, i. 77-79;
Cuinchy, i. 98;
Laventie, ii. 63, 64;
Messines Ridge, i. 211
Miraumont, i. 201, 202, 262
Models of battle-area used in training for attack, i. 217, 230; ii. 138-139, 144,
148, 152
Mœuvres, i. 239, 297
Monash, Lieut.-Gen. Sir J., K.C.B., ii. 206
Monchy-au-Bois, i. 197, 272, 273, 276, 296
Mondicourt, ii. 204
Monmouthshire Regt., 1st, ii. 19, 20
Monro, General Sir Charles, G.C.B., i. 73
Mons:
situation at, i. 4-5;
retreat from, i. 5-14
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
Let us accompany you on the journey of exploring knowledge and
personal growth!
ebookfinal.com

More Related Content

PDF
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
PDF
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition Pete Dice
PDF
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition Pete Dice
PDF
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition TEXT searchab...
PDF
Beyond Bios Implementing the Unified Extensible Firmware Interface with Intel...
PDF
Beyond BIOS Developing with the Unified Extensible Firmware Interface Third E...
PPTX
Unified Extensible Firmware Interface (UEFI)
PPTX
Uefi and bios
Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition Pete Dice
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition Pete Dice
Quick Boot A Guide for Embedded Firmware Developers 2nd Edition TEXT searchab...
Beyond Bios Implementing the Unified Extensible Firmware Interface with Intel...
Beyond BIOS Developing with the Unified Extensible Firmware Interface Third E...
Unified Extensible Firmware Interface (UEFI)
Uefi and bios

Similar to Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice (20)

DOCX
Review paper on bios vs uefi
PPTX
BIOS__Power-On-Self-Test.pptx
PPTX
Embedded Systems Overview
PDF
Embedded Systems Architecture Programming and Design 2nd Edition Raj Kamal
PPTX
CSA-113-personal-computeasdaasdasdasr.pptx
PDF
Operating System & Kernel Study Guide-1 - converted.pdf
PDF
44CON London 2015 - Is there an EFI monster inside your apple?
PDF
Hardwaredependent Software Principles And Practice 1st Edition Wolfgang Ecker
PDF
Operating Systems (slides)
PDF
EFI Architecture tutorial related to UEFI
PPT
OS_Intro_Chap_1.ppt
PPT
EMBEDDED SYSTEMS -UNIT-III-TSK-PROF.ECE-ACET.ppt
PDF
PPTX
Sorage & pc booting ppt prabu
PPTX
The Comprehensive Guide to Embedded Systems Architecture: Building Blocks, De...
PDF
Embedded Systems Second Edition D Sundaram R M Kothari Dwarkadas Pralhaddas N
PDF
Upgrading and Repairing PCs 14th Edition Scott Mueller
DOC
RESUME-RAJASHAKER GOUD RANGA_new
PDF
Embedded Systems Architecture Programming And Design 2nd Edition Raj Kamal
PPTX
BIOS-UEFI.pptxpppppppppppppppptttxxxxxxxxxx
Review paper on bios vs uefi
BIOS__Power-On-Self-Test.pptx
Embedded Systems Overview
Embedded Systems Architecture Programming and Design 2nd Edition Raj Kamal
CSA-113-personal-computeasdaasdasdasr.pptx
Operating System & Kernel Study Guide-1 - converted.pdf
44CON London 2015 - Is there an EFI monster inside your apple?
Hardwaredependent Software Principles And Practice 1st Edition Wolfgang Ecker
Operating Systems (slides)
EFI Architecture tutorial related to UEFI
OS_Intro_Chap_1.ppt
EMBEDDED SYSTEMS -UNIT-III-TSK-PROF.ECE-ACET.ppt
Sorage & pc booting ppt prabu
The Comprehensive Guide to Embedded Systems Architecture: Building Blocks, De...
Embedded Systems Second Edition D Sundaram R M Kothari Dwarkadas Pralhaddas N
Upgrading and Repairing PCs 14th Edition Scott Mueller
RESUME-RAJASHAKER GOUD RANGA_new
Embedded Systems Architecture Programming And Design 2nd Edition Raj Kamal
BIOS-UEFI.pptxpppppppppppppppptttxxxxxxxxxx
Ad

Recently uploaded (20)

PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
RMMM.pdf make it easy to upload and study
PDF
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Pharma ospi slides which help in ospi learning
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
Institutional Correction lecture only . . .
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
master seminar digital applications in india
PDF
Classroom Observation Tools for Teachers
PDF
Anesthesia in Laparoscopic Surgery in India
PPTX
Presentation on HIE in infants and its manifestations
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Microbial diseases, their pathogenesis and prophylaxis
RMMM.pdf make it easy to upload and study
The Lost Whites of Pakistan by Jahanzaib Mughal.pdf
FourierSeries-QuestionsWithAnswers(Part-A).pdf
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
STATICS OF THE RIGID BODIES Hibbelers.pdf
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Pharma ospi slides which help in ospi learning
202450812 BayCHI UCSC-SV 20250812 v17.pptx
Institutional Correction lecture only . . .
Final Presentation General Medicine 03-08-2024.pptx
master seminar digital applications in india
Classroom Observation Tools for Teachers
Anesthesia in Laparoscopic Surgery in India
Presentation on HIE in infants and its manifestations
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
2.FourierTransform-ShortQuestionswithAnswers.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Ad

Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice

  • 1. Visit ebookfinal.com to download the full version and explore more ebooks or textbooks Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice _____ Click the link below to download _____ https://ebookfinal.com/download/quick-boot-a-guide-for- embedded-firmware-developers-2nd-edition-pete-dice/ Explore and download more ebooks or textbook at ebookfinal.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Android Boot Camp for Developers Using Java A Guide to Creating Your First Android Apps Third Edition Corinne Hoisington https://ebookfinal.com/download/android-boot-camp-for-developers- using-java-a-guide-to-creating-your-first-android-apps-third-edition- corinne-hoisington/ Arduino 2nd Edition A Quick Start Guide Maik Schmidt https://ebookfinal.com/download/arduino-2nd-edition-a-quick-start- guide-maik-schmidt/ Raspberry Pi A Quick Start Guide 2nd Edition Maik Schmidt https://ebookfinal.com/download/raspberry-pi-a-quick-start-guide-2nd- edition-maik-schmidt/ Effective Unit Testing A guide for Java Developers 1st Edition Lasse Koskela https://ebookfinal.com/download/effective-unit-testing-a-guide-for- java-developers-1st-edition-lasse-koskela/
  • 3. Hand Rehabilitation A Quick Reference Guide and Review 2e 2nd Edition Susan Weiss https://ebookfinal.com/download/hand-rehabilitation-a-quick-reference- guide-and-review-2e-2nd-edition-susan-weiss/ OpenGL ES 2 for Android A Quick Start Guide 1st Edition Kevin Brothaler https://ebookfinal.com/download/opengl-es-2-for-android-a-quick-start- guide-1st-edition-kevin-brothaler/ Embedded Everywhere A Research Agenda for Networked Systems of Embedded Computers 1st Edition Committee On Networked Systems Of Embedded Computers https://ebookfinal.com/download/embedded-everywhere-a-research-agenda- for-networked-systems-of-embedded-computers-1st-edition-committee-on- networked-systems-of-embedded-computers/ S60 Smartphone Quality Assurance A Guide for Mobile Engineers and Developers 1st Edition Saila Laitinen https://ebookfinal.com/download/s60-smartphone-quality-assurance-a- guide-for-mobile-engineers-and-developers-1st-edition-saila-laitinen/ S60 Smartphone Quality Assurance A Guide for Mobile Engineers and Developers 1st Edition Saila Laitinen https://ebookfinal.com/download/s60-smartphone-quality-assurance-a- guide-for-mobile-engineers-and-developers-1st-edition-saila- laitinen-2/
  • 5. Quick Boot A Guide for Embedded Firmware Developers 2nd edition Pete Dice Digital Instant Download Author(s): Pete Dice ISBN(s): 9781501506819, 1501506811 Edition: 2 File Details: PDF, 3.84 MB Year: 2017 Language: english
  • 8. Pete Dice Quick Boot A Guide for Embedded Firmware Developers 2nd edition PRESS
  • 9. ISBN 978-1-5015-1538-5 e-ISBN (PDF) 978-1-5015-0681-9 e-ISBN (EPUB) 978-1-5015-0672-7 Library of Congress Cataloging-in-Publication Data A CIP catalog record for this book has been applied for at the Library of Congress. Bibliographic information published by the Deutsche Nationalbibliothek The Deutsche Nationalbibliothek lists this publication in the Deutsche Nationalbibliografie; detailed bibliographic data are available on the Internet at http://dnb.dnb.de. © 2018 Pete Dice Published by Walter de Gruyter Inc., Boston/Berlin Printing and binding: CPI books GmbH, Leck ♾ Printed on acid-free paper Printed in Germany www.degruyter.com
  • 10. Acknowledgments The studies, data, results, and guidelines compiled in the book are the result of many talented engineers at Intel who have a strong passion for BIOS and firmware. The contributions they have made and the time they have spent, much of it outside their normal duties, deserve to be acknowledged. For significant contributions to this book for analyses, cases studies, and written content, I’d like to thank these talented engineers: – Jim Pelner—who crafted the original white paper that echoes the main themes of this book and for contributing to several chapters early on. – Jaben Carsey—who wrote the shell chapter in the book above and beyond his many contributions to the UEFI shells in general. – Sam Fleming—who created Appendix A and has been one of my mentors in BIOS from the beginning. – Mike Rothman, Anton Cheng, Linda Weyhing, Rob Gough, Siddharth Shah, and Chee Keong Sim—for their exquisite multiyear collaboration around the fast boot concept and multiple case studies over the year. – BIOS vendor Insyde Software for donating feedback and volunteering for the fore- word. Thanks to my program manager, Stuart Douglas, for getting me through the writing phase and then on to the finish line (are we there yet?). Reviewer comments and suggestions were extremely valuable for both editions of this work. I deeply appreciate those who took the time to provide indispensable feedback, including Drew Jensen, Mark Doran, Jeff Griffen, John Mitkowski, and Dong Wei and at my publisher, Jeff Pepper, Megan Lester, Mark Watanabe and Angie MacAllister for her work on fixing the art and tables. I would also like to acknowledge my peers in the BIOS/FW engineering and ar- chitecture teams within the computer industry for their drive to make this technology an ever more valuable (and less obtrusive) part of people’s everyday lives. Lastly, I want to thank my wife, Anita, for her patience and everything she’s done to allow me time to complete this.
  • 12. Contents Chapter 1: System Firmware’s Missing Link  1 Start by Gathering Data  1 Initialization Roles and Responsibilities  3 System Firmware  3 OS Loader  4 Operating System  4 Legacy BIOS Interface, UEFI, and the Conversion  4 Tiano Benefits  5 Previous UEFI Challenges  6 Persistence of Change  7 The Next Generation  7 Commercial BIOS Business  8 Award  8 General Software  8 Phoenix Technologies Limited  8 American Megatrends Inc.  9 Insyde Software  9 ByoSoft  9 Value of BIOS  9 Proprietary Solutions  10 Making a Decision on Boot Firmware  10 Consider Using a BIOS Vendor  11 Consider Open-Source Alternatives  12 Consider Creating Something from Scratch  13 Consider a Native Boot Loader for Intel ® Architecture  13 Just Add Silicon Initialization  14 Summary  14 Chapter 2: Intel Architecture Basics  15 The Big Blocks of Intel Architecture  17 The CPU  17 The Front Side Bus  19 The North Bridge, PCIset, AGPset, MCH, Uncore, System Agent  19 The Transparent Link (Hublink, DMI, ESI)  20 The South Bridge, Also Known as the PIIX, I/O Controller Hub (ICH), I/O Hub (IOH), Enterprise South Bridge (ESB), and Platform Controller Hub (PCH)  21 Data Movement Is Fundamental  23 It’s a Multiprocessing System Architecture  24
  • 13. viii  Contents The Memory Map  25 I/O Address Range  26 The Operating System  28 Summary  29 Chapter 3: System Firmware Terms and Concepts  31 Typical PC/Intel® Architecture Overview  31 Memory Types  31 Processor Cache  33 System Memory  34 Complementary Metal-Oxide Semiconductor (CMOS)  34 System BIOS Flash Memory (NVRAM, FWH, or SPI)  34 Real-Time Clock (RTC)  35 System Memory Map  35 Legacy Address Range  36 Main Memory Address Range  36 PCI Memory Address Range  36 Splash Screen  36 Status and Error Messages  37 Display Messages  37 Beep Codes  38 POST Codes  38 Master Boot Record  38 GUID Partition Table  39 Real Mode  39 Protected Mode  39 Logical Addressing  39 Flat Protected Mode  40 Reset Vector  40 Programmable Interrupt Controller  40 Advanced Programmable Interrupt Controller  40 The I/OxAPIC  40 The Local APIC  41 Summary  41 Chapter 4: Silicon-Specific Initialization  43 Listen to the Designer, Then Experiment, and Fix It  43 Chipsets  44 Processors  44 Basic Types of Initialization  45 Simple Bits  45 Standard Algorithms, Minding the Ps and Qs  46
  • 14. Contents  ix Custom Algorithms: It’s All About Me  46 Option ROMs  47 Summary  48 Chapter 5: Industry Standard Initialization  49 PCI  51 PCI Device Enumeration  52 PCI BIOS  54 PCI IRQ Routing with ACPI Methods  58 PCI Recommendation  58 PCI Power Management  58 USB Enumeration and Initialization  58 PCI Enumeration and Initialization of USB Controllers  59 USB Wake from ACPI Sx (S3, S4, S5 to S0)  61 USB Enumeration  61 SATA  62 SATA Controller Initialization  62 Setting the SATA Controller Mode  63 Enabling SATA Ports  64 Setting the Programming Interface  65 Initializing Registers in AHCI Memory-Mapped Space  66 RAID Mode Initialization  66 Additional Programming Requirements During SATA Initialization  68 External SATA Programming  68 Compliance with Industry Specifications  68 Advanced Configuration and Power Interface (ACPI)  69 ACPI Tables  69 ACPI Namespace  71 Summary  71 Chapter 6: System Firmware Debug Techniques  73 Host/Target Debugging Techniques  73 Hardware Capabilities  73 POST Codes  74 Audio (Beep) Codes  74 Serial Port  75 In-Target Probe (ITP), a Form of JTAG Port  75 Software Debug Methods 76 Console Input/Output  76 Abstraction  76 Disable Optimization  77 Where Am I in the Firmware?  77
  • 15. x  Contents When Hardware Isn’t Stable, Where Do I Start?  77 Debugging Other People’s Code  78 Debugging PCI Option ROMs or Binary Libraries  78 Debugging Library Code (No Source)  79 Debugging Beyond Firmware  80 Real Mode Interrupts  80 System Management Mode  81 Industry Specifications  82 Pitfalls  82 Summary  83 Chapter 7: Shells and Native Applications  85 Pre-OS Shells 87 UEFI Shell Application  88 EFI/UEFI Script File  91 Different Features between Script and App  91 Customizing the UEFI Shell  92 Where to Get Shells  95 GUIs and the UEFI Shell  95 Remote Control of the UEFI Shell  95 Debugging Drivers and Applications in the EFI and UEFI Shells  96 The End for the Shell  97 Summary  98 Chapter 8: Loading an Operating System  99 The Boot Path  99 The Bus  99 The Device  100 The Partition Table  100 The File System  100 Booting via the Legacy OS Interface  100 Master Boot Record  100 Loading the Legacy OS Loader  101 Legacy BIOS to OS Handoff Requirements  101 Booting via the EFI Interface  102 Default EFI Boot Behavior  102 Direct Execution of a Linux Kernel  103 UEFI Runtime Services  104 Neither Option  104 Summary  105
  • 16. Contents  xi Chapter 9: The Intel Architecture Boot Flow  107 ® Hardware Power Sequences (The Pre-Pre-Boot)  107 Nonhost-Based Subsystem Startup  108 Starting at the Host Reset Vector  109 Mode Selection  109 Early Initialization  112 Single-Threaded Operation  112 Simple Device Initialization  112 Memory Configuration  115 Post-Memory  116 Shadowing  117 Exit from No-Eviction Mode and Transfer to DRAM  118 Transfer to DRAM  118 Memory Transaction Redirection  119 Application Processor (AP) Initialization  120 Advanced Initialization  122 General Purpose I/O (GPIO) Configuration  122 Interrupt Controllers  123 Interrupt Vector Table (IVT)  125 Interrupt Descriptor Table (IDT)  125 Timers  126 Memory Caching Control  127 Serial Ports  127 Clock and Overclock Programming  128 PCI Device Enumeration  128 Graphics Initialization  129 Input Devices  129 USB Initialization  129 SATA Initialization  130 SATA Controller Initialization  130 Memory Map  131 Region Types  132 Region Locations  132 Loading the OS  132 Summary  133 Chapter 10: Bootstrapping Embedded  135 Optimization Using BIOS and Bootloaders  135 Platform Policy (What Is It and Why Is It Here?)  136 Case Study Summaries  138 Example 1  138 Example 2  139
  • 17. xii  Contents Example 1 Details  139 What Are the Design Goals?  140 What Are the Supported Target Operating Systems?  140 Do We Have to Support Legacy Operating Systems?  140 Do We Have to Support Legacy Option ROMs?  141 Are We Required to Display an OEM Splash Screen?  142 What Type of Boot Media Is Supported?  142 What Is the BIOS Recovery/Update Strategy?  142 When Processing Things Early  143 Is There a Need for Pre-OS User Interaction?  143 A Note of Caution  144 Additional Details  144 Example 2 Details  148 Turn Off Debugging  148 Decrease Flash Size  149 Caching of PEI Phase  149 Intel SpeedStep® Technology Enabled Early  149 BDS Phase Optimization  150 Platform Memory Speed  150 Remove PS/2 Keyboard/Mouse  150 Remove BIOS Setup  150 Remove Video Option ROM  151 Remove BIOS USB Support  151 Divide Long Lead Pieces into Functional Blocks and Distribute Across the Boot Flow  151 Summary  152 Chapter 11: Intel’s Fast Boot Technology  153 The Human Factor  153 Responsiveness  156 The (Green) Machine Factor  157 Boot Time Analysis  158 First Boot versus Next Boot Concept  160 Boot Mode UEFI Configuration Setting  161 Fallback Mechanisms  162 Baseline Assumptions for Enabling Intel Fast Boot  163 Intel Fast Boot Timing Results  164 Summary  164
  • 18. Contents  xiii Chapter 12: Collaborative Roles in Quick Boot  165 Power Hardware Role  165 Power Sequencing  165 Power Supply Specification  165 Flash Subsystem  165 High Speed SPI Bus for Flash  166 Flash Component Accesses  166 SPI Prefetch and Buffer  166 SPI Flash Reads and Writes  166 Slow Interface and Device Access  167 DMI Optimizations  167 Processor Optimizations  168 CPU Turbo Enabling  168 Streamline CPU Reset and Initial CPU Microcode Update  168 Efficient APs Initialization  168 Caching Code and Data  169 Main Memory Subsystem  169 Memory Configuration Complexity  169 Fast and Safe Memory Initialization  169 Hardware-Based Memory Clearing  170 Efficient Memory Operations Instruction Usage  170 SMBus Optimizations (Which Applies to Memory Init)  170 Minimize BIOS Shadowing Size, Dual DXE Paths for Fast Path versus Full Boot  170 PCIe Port Disable Algorithm  171 Manageability Engine  171 Eliminating MEBx  171 Reducing Manageability Engine and BIOS Interactions  172 Graphics Subsystem  173 Graphics Device Selection  173 Graphics Output Protocol (GOP) Support for CSM-Free Operating Systems  173 Panel Specification  174 Start Panel Power Early  174 Storage Subsystems  174 Spinning Media  174 Utilizing Nonblocking Storage I/O  174 Early SATA COMRESETs: Drive Spin-Up  175 CSM-Free Intel® Raid Storage Technology (Intel RST) UEFI Driver  175 Minimizing USB Latency  175 Power Management  176 Minimizing Active State Power Management Impact  176
  • 19. xiv  Contents Security  177 Intel® Trusted Execution Technology (Intel TXT)  177 TPM Present Detect and Early Start  177 Operating System Interactions  178 Compatibility Segment Module and Legacy Option ROMs  178 OS Loader  178 Legacy OS Interface  179 Reducing Replication of Enumeration Between Firmware and OS  179 Other Factors Affecting Boot Speed  180 No Duplication in Hardware Enumeration within UEFI  180 Minimize Occurrences of Hardware Resets  180 Intel Architecture Coding Efficiency  180 Network Boot Feature  180 Value-Add, But Complex Features  181 Tools and the User Effect  181 Human Developer’s Resistance to Change  181 Summary  182 Chapter 13: Legal Decisions  183 Proprietary License  183 Berkeley Software Distribution (BSD) License  184 Key Four Clauses to the Original License  184 Three-Clause BSD  184 General Public License (GPL) 185 Lesser GPL (LGPL)  185 Separating and Segregating Code  186 Conclusion  186 Appendix A: Generating Serial Presence Detection Data for Down Memory Configurations  189 Analyzing the Design’s Memory Architecture  191 Calculating DIMM Equivalents  192 ECC Calculation  193 SDRAM Width Determination  193 SDRAM Chip Datasheet  193 SDRAM Architecture Analysis Example  193 Calculating Specific SPD Data Based on SDRAM Datasheet  194 SPD Field 0x00: Number of Bytes  194 SPD Field 0×01: SPD Revision  195 Byte 1: SPD Revision  195 SPD Field 0×02: Device Type  196 SPD Field 0×03: Module Type  197
  • 20. Contents  xv SPD Field 0×04: SDRAM Density and Banks  198 SPD Field 0×05: SDRAM Rows and Columns  200 SPD Field 0×06: Nominal Voltage, VDD  201 SPD Field 0×07: Ranks & Device DQ Count  202 SPD Field 0×08: Module Bus Width  204 SPD Field 0×09: Fine Timebase Dividend/Divisor  205 SPD Field 0×0A and 0×0B: Medium Timebase Dividend/Divisor  206 SPD Field 0x0C: Cycle Time (tCKmin)  207 SPD Field 0×0E and 0×0F: CAS Latencies Supported  209 SPD Field 0×10: CAS Latency Time (tAAmin or tCL)  211 SPD Field 0×11: Write Recovery Time (twrmin)  213 SPD Field 0×12 RAS# to CAS# Delay (tRCDmin)  215 SPD Field 0x13: Min. Row Active to Row Active Delay (tRRDmin)  217 SPD Field 0×14: Min. Row Precharge Delay (tRPmin)  220 SPD Field 0×15: Upper Nibble of tRAS & tRC  222 SPD Field 0×16: Min. Active to Precharge Delay (tRASmin) LSB  223 SPD Field 0×17: Min. Active to Active Refresh Delay (tRCmin) LSB  225 SPD Field 0×18 and 0×19: Min. Refresh Recovery Delay (tRFCmin)  228 SPD Field 0×1A: Min. Write to Read Command Delay (tWTRmin)  230 SPD Field 0×1B: Min. Read to Precharge Command Delay (tRTPmin)  232 SPD Field 0×1C: tFAW Upper Nibble  234 SPD Field 0×1D: Min. Four Activate Window Delay (tFAWmin) LSB  234 SPD Field 0x1E: SDRAM Optional Features  237 SPD Field 0×1F: SDRAM Thermal and Refresh Options  238 SPD Field 0×20: Module Thermal Sensor  239 SPD Field 0x21: SDRAM Device Type  240 SPD Field 0×22–0×3B: Reserved  241 Module-Specific Section: Bytes 60–116  242 SPD Field 0×3C: (Unbuffered): Module Nominal Height  242 SPD Field 0×3D: (Unbuffered): Module Max. Thickness  243 SPD Field 0x3E: (Unbuffered): Reference Raw Card Used  244 SPD Field 0×3F: Unbuff Addr. Mapping from Edge Connector to DRAM247 SPD Field 0×40-0×74: Reserved  248 SPD Field 0×75 and 0×76: Module Manufacturer ID Code, LSB  248 SPD Field 0×77: Module Manufacturer Location  249 SPD Field 0×78 and 0×79: Module Manufacturing Date  250 SPD Field 0x7A–0x7D: Module Serial Number  250 SPD Field 0×7E and 0×7F: CRC Bytes  250 Bytes 126–127: SPD Cyclical Redundancy Code (CRC)  251 SPD Field 0×80–0×91  251 SPD Field 0×92 and 0×93: Module Revision Code  252 SPD Field 0×94 and 0×95: DRAM Manufacturer ID Code 252
  • 21. xvi  Contents SPD Field 0×96–0×AF: Manufacturer’s Specific Data  253 SPD Field 0×B0–0×FF: Open for Customer Use  253 References for Appendix A  253 Index  255
  • 22. Foreword from the First Edition How do you explain what BIOS is? I generally explain it as the code that runs when you first turn on the computer. It creates a level playing field so that the operating system has a known state to start from. If the other person has some programming knowledge, he or she generally says something like, “Oh. You’re one of those guys!” Let’s face it. BIOS isn’t sexy. The hardware engineers will always blame the BIOS en- gineers if the system fails to POST. It’s generally up to BIOS engineers to prove it isn’t their code that is the problem. When I first started as a lowly BIOS Engineer II, the BIOS codebase was pure x86 assembly code—thousands of files across almost as many directories with lots of cryp- tic comments like, “I don’t know why this is here, but it breaks if I remove or modify it! Beware!” It took 45 minutes to do a clean compile. Comments would commonly refer to specifications that no longer existed. To say a BIOS is filled with some secret, arcane algorithms is like saying driving a Formula 1 car is just like driving on the free- way, only faster! There are no college courses that teach BIOS programming. There are no trade schools to go to. A few software and electronic engineers will be able to make it as BIOS engineers because it takes a bit of both to be successful. This book is the first one I’m aware of that attempts to shine light onto the esoteric field of BIOS engineering. A field that makes everything from the big-iron servers to the lowly smartphone turn on. This book has combined two fundamental concepts. What you need to know to make a BIOS that works and what you need to know to make a BIOS that works fast! It wasn’t that long ago that a POST in under ten seconds was considered pretty fast. Today’s standard is now under two seconds. There are topics outlined in this book that will help get you to that sub-2-second goal. I am currently working on a quasi-embedded system that is in the sub-1-second range with full measured boot using these concepts! This book has something for the recent college graduate as well as the seasoned BIOS engi- neer. There are nuggets of tribal knowledge scattered throughout. Help yourself become better acquainted with the BIOS industry and read it. –Kelly Steele, Former BIOS Architect, Insyde Software, Inc., Now at Intel Corporation This book has something for the recent college graduate as well as the seasoned BIOS engineer. There are nuggets of tribal knowledge scattered throughout. Help yourself become better acquainted with the BIOS industry and read it.
  • 24. DOI 10.1515/9781501506819-001 Chapter 1 System Firmware’s Missing Link Hardware: the parts of a computer that can be kicked. —Jeff Pesis Booting an Intel architecture platform should be easy. Anyone who thinks that writ- ing an all-purpose Intel® architecture Basic Input Output System (BIOS) and/or an operating system (OS) boot loader from scratch is easy has yet to try it. The complexity and sheer number of documents and undocumented details about the motherboard and hardware components, operating system requirements, industry standards and exceptions, silicon-specific eccentricities beyond the standards, little-known tribal knowledge, basic configuration, compiler nuances, linker details, and variety of ap- plicable debug tools are enormous. While it can be difficult, it doesn’t have to be. This book is designed to give a background in the basic architecture and details of a typical boot sequence to the beginner firmware developer. Various specifications provide the basics of both the code bases and the standards. While a summary is pro- vided in the chapters below, there is no substitute for reading and comprehending the specifications and developer’s manuals first-hand. This book also provides in- sights into optimization techniques to the more advanced developers. With the back- ground information, the required specifications on hand, and diligence, many devel- opers can create quality boot solutions. Even if they choose not to create, but to purchase the solution from a vendor, the right information about boot options makes the decision making easier. Start by Gathering Data First you must ‘know the ground’; obtaining and using the right data are essential to success. To begin to gather the appropriate documents at the start of the project re- quires research. Full system initialization is like a large puzzle where someone has hidden some of the pieces: – Motherboard schematics are an absolute must. If you are designing the board, then that is not a problem. If you are reusing an off-the-shelf solution, there is a high likelihood that the vendor who created the board is unwilling to release schematics readily. You can reverse-engineer some of the data, like system management bus addresses, but things like IRQs and GPIOs will be very diffi- cult. If there is an embedded controller in the picture, the number of unknowns increases. – A standard system BIOS today covers at least 70 industry standard specifications alone that can apply to the mainstream client and server boxes commercially
  • 25. 2  Chapter 1: System Firmware’s Missing Link available. For application specifications, there could be dozens for a given mar- ket segment. If it is a new or emerging type of system, there will be no mature standard and you will be chasing a moving target. Obtaining the list of industry standards that apply is a daunting task and may require some registering and joining to gain access to specifications and/or forums to get your questions an- swered. Some older specifications are not published and not available today on the Internet. – There are many long-in-the-tooth legacy devices that may need to be initialized, and finding documentation on them is challenging. They may exist only in the dusty drawers of a senior engineer who retired five years ago. – In some cases, nondisclosure agreements (NDAs) must be signed with the various silicon, BIOS, or motherboard vendors. The NDAs can take precious time to ob- tain and will require some level of legal advice. – UEFI provides a handy API for interfacing to the OS. It has a modular framework and is a viable starting place supporting many industry standards such as ACPI and PCI. – Until now, no single reference manual has documented the required steps needed to boot an Intel architecture system in one place. Nor has anyone detailed the order of initialization to get someone started. Those who have been exposed to system firmware at a coding level and the inner workings of the black art that is system BIOS understand that it is difficult to explain everything it does, how it does it, or why it should be done in exactly that way. Not many people in the world would have all theanswers to every step in the sequence. Most people who work in the code will want to know just enough to make necessary changes and press on with development or call up their BIOS vendor. Fortunately, there are many options available when choosing a firmware solu- tion, which we will examine in the next few pages. The more you know about the options, the key players, their history, and the variables, the better decision you can make for your design. The decision will be a combination of arbitrary thought, low- hanging fruit, economies of scale, technical politics, and, of course, money vs. time. Intel has created an open-source-based system, known as Intel® Boot Loader De- velopment Kit (Intel® BLDK), which provides a turnkey solution without a huge learn- ing curve. Developers can go to www.intel.com and download Intel BLDK for various embedded platforms. Intel® Quark processor also has a UEFI implementation that is entirely open source and is built using the UEFI framework. This can be found online by searching for Galileo UEFI firmware.
  • 26. Discovering Diverse Content Through Random Scribd Documents
  • 27. Carney, Pte., i. 17 Carnières, i. 319, 321 Carnoy, i. 163, 175, 187, 200; ii. 94, 103, 105, 111 Carroll, Pte. J., i. 149; ii. 280 Carroll, Lance-Cpl. J., M.M., i. 193; ii. 280 Carroll, C.S.M.P.A., i. 129 Carton, C.S.M. H., i. 59, 81, 169 Carver, 2nd Lieut. L. H. L., i. 257-258, 276; ii. 218 Cary-Elwes, Lieut. W. G., ii. 169, 176, 219 Casey, Capt. Rev. Father, i. 176 Cassel, i. 211; ii. 66 Cassidy, 2nd Lieut. M. B., ii. 199, 219, 223 Castlerosse, Capt. Viscount, i. 3, 11; ii. 91, 223 Caterham, i. 181, 190; ii. 206 Caterpillar Wood, i. 157 Cattenières, i. 311 Caudescure, ii. 197 Cavalry, British: at Ypres, i. 25, 29, 36, 39, 40, 41, 45; at Loos, i. 107; on the Somme, i. 164, 239, 244, 245, 246; ii. 98, 99, 129 Cavan, Major-Gen. the Earl of, K. P., K.C.B., i. 23, 39, 48, 54, 86, 91, 92, 93, 107, 128, 132, 159, 160, 162, 175, 182; ii. 7, 30, 46 Central Boyau, ii. 16 Ceylon Avenue, i. 255 Chalk-Pit, the, Loos, i. 107, 109, 111 Chalk-Pit Wood, Loos, ii. 10, 11, 12, 13, 14, 16 Charleroi, i. 329; ii. 211 Charly, Marne crossed at, i. 16 Chasseur Farm, i. 220; ii. 139 Chatillon, i. 9
  • 28. Chaulnes, i. 197 Chavonne, i. 23 Chelers, ii. 190 Chérisy, i. 260 Cherry, Sgt. Drummer W., i. 129 Cheshire Regt., ii. 168 Chichester, Major Hon. A. C. S., D.S.O., O.B.E., i. 132; ii. 66, 69, 75, 223, 224, 226 Chocques, i. 87, 121 Christmas celebrations: (1914) i. 51; (1915) i. 128; ii. 45-46, 47; (1916) i. 191, 199, 332; ii. 115, 116; (1917) i. 250; ii. 180; (1918) i. 332 Christy, Lieut. S. E. F., i. 111, 127, 129, 152; ii. 218, 221 Cinema films taken in front line, ii. 49-50 Citadel Camp, i. 174, 175, 181; ii. 103 Cité St. Auguste, i. 107 Cité St. Elie, i. 107 Clairmarais, Forest of, i. 211 “Clarges Street,” i. 231 Clerk’s Keep, i. 120 Cléry, i. 262 Clifford, 2nd Lieut. W. F. J., ii. 11, 14, 219 Close, Lieut. B. S., i. 304, 308; ii. 76, 99, 163, 167, 203, 205, 218, 222 Close, Capt. P. H. J., i. 87, 88 Cointicourt, i. 16 Cojeul valley, the, i. 273, 280, 288 Coke, Lieut. L. S., i. 19, 37; ii. 218 Coldstream Guards: 1st Battalion: (1915) Loos, the Hohenzollern trenches, ii. 9, 12, 21, 28, 35;
  • 29. Laventie, ii. 37, 42, 43, 44, 46 (1916) Laventie, ii. 49, 51, 52, 53, 54, 60; Ypres, ii. 69, 74, 76, 77, 82, 89, 90; the Somme: Ginchy, ii. 93, 96, 97, 99, 100, 105, 107 (1917) the Somme: Rancourt, ii. 121, 126, 128; Yser Canal, i. 216, 221; ii. 136, 146, 151, 152, 153; the Somme: Bourlon Wood, i. 241; ii. 173, 174 (1918) the March Push, i. 263, 266; the offensive, i. 289 Eton football played by, ii. 180 Pierrot troupe of, ii. 163 2nd Battalion: (1914) i. 1, 4; Mons, i. 5, 7; the retreat and the advance to the Aisne, i. 14, 15, 16; Ypres, i. 26, 30, 31, 51 (1915) La Bassée, the Brickfields, Cuinchy, i. 54, 57, 58, 59 sqq., 89, 94; Neuve Chapelle, i. 73; Loos, i. 109, 115, 116, 120 (1916) i. 146; the Somme: Ginchy, Lesbœufs, i. 156, 164, 165 sqq., 181 (1917) the Somme: Sailly-Saillisel, i. 205; Yser Canal and the Broembeek, i. 213, 231; ii. 156, 166; the Somme: Gouzeaucourt, i. 244; ii. 178 (1918) the Scarpe, the March Push, i. 258, 264, 273, 274, 279; the Somme offensive, St. Léger, i. 286, 289, 290, 294; the advance on Maubeuge, i. 311, 317, 318, 323 3rd Battalion: (1914) i. 4; Mons, i. 5, 7; Landrecies, i. 7; the advance to the Aisne, i. 16, 19, 21, 23; Ypres, i. 35, 46 (1915) La Bassée, the Brickfields, Cuinchy, i. 54, 58, 61, 62, 67; Neuve Chapelle, i. 70; Givenchy, i. 80; Loos, i. 110, 115, 118; Laventie, ii. 32, 34 (1916) Ypres, i. 152; the Somme: Ginchy, Lesbœufs, i. 156, 164, 165 sqq., 178, 180, 81 (1917) the Somme: Sailly-Saillisel, i. 220; Yser Canal and the Broembeek, i. 214, 218, 220, 231, 232; ii. 143, 144, 153, 158;
  • 30. the Somme: Gouzeaucourt, Gauche Wood, i. 244, 246 (1918) in Fourth Guards Brigade, i. 208; ii. 180 n., 184; the Somme: March Push, ii. 187; Vieux-Berquin, ii. 193, 194, 195, 196, 197, 202; the advance, ii. 209, 210 Pantomime produced by, i. 208 Cole, Sgt., ii. 116, 117 Collett, Lieut. H. A. A., M.C., i. 250, 254, 303, 305; ii. 224, 233 Cologne, advance to and occupation of, i. 329-332, 333; ii. 211-214 Colquhoun, Capt. Sir I. (Scots Guards), ii. 101, 128 Colt Reserve trench, i. 259 Combles, i. 161, 190, 191, 206; ii. 96, 112, 114, 119, 120 Comesky, Lance-Sgt., ii. 22 Commanding Officers, 1st Battalion Irish Guards, list of, i. 333 Commanding Officers, 2nd Battalion Irish Guards, list of, ii. 216 Communal College, Arras, i. 261 Communication-trench, the first, i. 18 Conaboy, Sgt., i. 305, 306 Concrete block-houses, German, i. 217, 219; ii. 138, 155 Connaught, Field-Marshal H.R.H. the Duke of, K.G., i. 186, 236, 278; ii. 107, 168 Connaught Rangers, i. 23, 35 Connolly, 2nd Lieut. H. A., i. 295; ii. 218, 223 Conroy, Pte., ii. 157 Contalmaison, i. 157, 262 Convent, the, Ypres, ii. 68 Cook, 2nd Lieut. (4th Connaught Rangers), i. 155 Cooper, Brig.-Gen. R. J., C.B., C.V.O. (M.E.F.), ii. 220 Cooper, Lance-Cpl. W., D.C.M., i. 225; ii. 279 Corbie, ii. 119, 134 Cordite Reserve trench, i. 254, 255 Corry, Colonel (Grenadier Guards), ii. 7, 34
  • 31. Corry, Lieut. T., D.C.M., i. 112, 226, 234; ii. 222 Cortecan, i. 13 Cotterel-Dormer, Lieut. (Coldstream Guards), i. 17 Coucy-le-Château, i. 10 Couin, ii. 93 Cour l’Avoine Farm, i. 83, 84-85 Courcelette, i. 195, 262 Courcelles, i. 16, 288; ii. 171, 188 Courtrai, i. 28 Cousins, Lance-Cpl. A., M.M., i. 183; ii. 280 Couteleux, i. 75 Coxon, Lieut. R. E., ii. 25, 30 Coyne, Lance-Cpl. F., M.M., i. 225; ii. 281 Craonne Farm, i. 234 Crawford, Lieut. G. L., ii. 105, 151, 222 Creil, i. 26 Crépy-en-Valois, i. 6 Crespigny, Gen. C. R. C. de, i. 228; ii. 99 Crewdson, Capt. B. F., i. 250 Crichton, Major H. F., i. 2, 4, 11; ii. 217 Cricket matches, Barly, ii. 205, 206 Criel Plage, ii. 207-210 Croisilles, i. 206, 288 “Crump, The,” ii. 65 Crump Trench, i. 254, 255 Cuinchy, fighting round, i. 50, 57, 58 sqq., 93 sqq., 106, 112 Cunningham, Capt. A. F. S. (Grenadier Guards), i. 169 Curlu, i. 209; ii. 133 Curran, Sgt., ii. 110 Curry, C.S.M. T., i. 81
  • 32. Curtis, Sgt. P. J., i. 129 Cuthbert, Capt. (Scots Guards), ii. 11 Dagger, Lieut. R. L., i. 305; ii. 205, 221 Dalton, Lieut. J. W., ii. 155, 188, 221 Dame, 2nd Lieut. J. W. M., ii. 163, 219 Dames-Longworth, Lieut. T. R., i. 205 Dancing-lesson, a tragic, in Gouzeaucourt, i. 245-246 Davis, 2nd Lieut. Rhys (U. S. A. Medical Service), i. 306-307; ii. 218 Dawson, Capt. H. (Coldstream Guards) i. 46 Dead End, i. 126; ii. 49 Decorations awarded to Irish Guards: Officers, ii. 224-234 W.O.’s, N.C.O.’s, and men, ii. 279-284 1st Battalion, i. 48, 49, 53, 60, 64, 78, 146, 149, 183-184, 224-225, 228, 237, 278, 287 2nd Battalion, ii. 39, 106, 156 Delaney, Lance-Cpl. W., D.C.M., i. 53; ii. 279 De Lisle, Gen. Sir H., K.C.B., D.S.O., ii. 163 Delville Wood, i. 157, 161; ii. 109 Demicourt, i. 239, 240, 260, 362, 309, 310 De Moleyns, Lieut. A. F. D., ii. 154, 155, 222 Dempsey, Pte., i. 99 Denson, Lieut. P. G., ii. 90, 115, 116, 117, 221 Dent, Capt. E. D., ii. 196, 199, 218 Dernancourt, i. 267 De Salis, Lieut. Count J. E., i. 174; ii. 221 Destremont Farm, i. 195 Deuillet, i. 10 De Wippe Cabaret, ii. 142 Digby, Capt. Hon. K. (Coldstream Guards), ii. 99 Divisional Entrenching Battalion, ii. 40 Divisions in the line, differences in behaviour among, i. 144
  • 33. Dohem, ii. 6, 7 Doignies, i. 239, 240 Dolan, Sgt., D.C.M., Méd. Mil., i. 287; ii. 279, 283 Dollar, Lieut. J. B., ii. 94, 103 Donoghue, Pte., ii. 150 Donohoe, a/C.S.M. P., M.M., i. 224; ii. 281 Donolly, a/C.S.M., J., i. 129 Doolan, Sgt. P., M.M., i. 183; ii. 281 Dormer, Capt. K. E., i. 87, 88, 129 Double Crassier, Le, i. 106, 107 Douchy, i. 295 Doullens, i. 265, 271 Douteuse House, i. 218 Dowler, Lieut. E. H., i. 234; ii. 222 Draibach, i. 229 Drainage system in trenches, ii. 41-42 Drionville, i. 105 Drocourt-Quéant Switch broken, i. 295 Dromesnil, i. 186 Drouvin, ii. 20 Drums: 1st Irish Guards, i. 8, 136, 137, 186, 204, 320, 329, 331; ii. 38; 2nd Irish Guards, ii. 35, 38, 93, 163 Drunkenness infrequent in the ranks, i. 122 Drury-Lowe, Captain (Grenadier Guards), i. 180 Duck’s Bill Trench, i. 75 Dug-outs, first mention of, i. 44 Duke of Cornwall’s Light Infantry, i. 171; ii. 198 Dulwich Camp, i. 226; ii. 163, 167 Dummies, use of, in front line, ii. 55, 57, 62 Dumps, destruction of, in March Push, i. 262, 309; ii. 187
  • 34. Dunne, Pte., ii. 90 D’Untal, General, i. 112 Durant, Lieut. N. F., i. 87, 88, 245, 249; ii. 176, 218 Durham Light Infantry, ii. 102 Earle, Capt. J. W. A., i. 147 East Anglian Field Coy., R. E., i. 85 East Lancashire Regt., i. 255; ii. 189 East Yorkshire Regt., ii. 15 Eaucourt l’Abbaye, i. 195 Ebenezer Farm, i. 130 Ecoust-St. Mein, i. 289, 292, 296 Ecques, i. 237; ii. 170 Ecurie Camp, ii. 186 Edinburgh Support Trench, i. 298 Egypt House, i. 232 Ehrenfeld, ii. 213 Eiloart, 2nd Lieut. C. H., ii. 219 Elverdinghe, i. 148, 213, 217, 222, 224, 225, 230, 231, 235; ii. 84, 136, 137, 154, 156, 168 Elverdinghe Château, i. 148; ii. 84, 89, 90, 136 Englebelmer, i. 156 Eperlecques, i. 104, 236 Epluches, i. 26 Erith Street, ii. 40 Ermenonville, i. 13 Ervillers, i. 288; ii. 188 Esbly, i. 13 Escarmain, i. 315 Esquelbecq, ii. 91 Essars, i. 51
  • 35. Essex Regt., 11th, i. 147; 8th, ii. 163 Estaires, i. 125; ii. 47, 192, 193 Etaples, i. 26 Eton dinner, the, i. 89, 147 Eton football match, ii. 180 Etreux, i. 4, 7, 8 Etricourt, i. 209, 249; ii. 178 Everard, Capt. W. J. J. E. M., i. 42, 44 Eyre, Lieut. H. J. B., i. 216; ii. 218 F post on the Scarpe, i. 254, 268 Fallows, 2nd Lieut. E. H., ii. 219 Fampoux, ii. 182, 185 Fampoux Trench, i. 259 Fanshawe, 2nd Lieut. H. V., i. 207, 234; ii. 218 Faraday, 2nd Lieut. J. A. M., M.C., i. 278, 287; ii. 222, 224, 232 Farbus, ii. 186 Farrell, C.S.M., i. 164 “Fatigues,” moral effect of, i. 98, 116, 192-193, 222, 237; ii. 72, 79 Faulkner, 2nd Lieut. W. D., M.C., ii. 164, 176, 205, 207, 224 Fawcett, Sgt. J., i. 129 Feilding, Maj.-Gen. Sir G., C.M.G., D.S.O., i. 92, 94, 103, 124, 128 n., 130, 185, 189, 220, 296, 300; ii. 7, 9, 20, 22, 31, 106, 143 Ferguson, Major R. H., i. 19, 21, 31, 33, 37; ii. 145, 147, 148, 153, 154, 157, 159, 182, 183, 216, 220 Fergusson, Maj.-Gen. Sir C., K.C.M.G., D.S.O., ii. 180 n., 191, 213 Ferme Beaulieu, ii. 203 Ferme Gombert, ii. 194, 196 Ferme le Cas Rouge, i. 15 Fesmy, i. 4 Festubert, i. 50, 57, 106;
  • 36. Battle of, i. 82-86 Fins, i. 208, 249; ii. 178 Fish Avenue, i. 299 Fismes, i. 26 FitzClarence, Brig.-Gen. C., V.C., i. 43; ii. 217 Fitzgerald, Capt. A. H. B., i. 16 FitzGerald, Major Lord Desmond, M.C., i. 2, 11, 46, 50, 81, 88, 93, 98, 112, 117, 118, 120, 127, 128, 132, 135, 136; ii. 46, 64, 217, 219, 224 FitzGerald, Lieut. D. J. B., i. 129, 236, 250, 265; ii. 154, 155, 161, 222 FitzGerald, Capt. J. S. N., M.B.E., M.C., i. 2, 17, 42, 72, 81, 86, 88, 114, 153; ii. 15, 29, 36, 64, 84, 90, 93, 99, 114, 224 FitzGerald, Capt. M. R., ii. 102, 194, 197, 199, 219, 223 Flag Ravine, i. 247 Flammenwerfer demonstrations, i. 133 Flanders, British forces moved to, i. 25-26, 27 Fleming, Major C. F., i. 153 Flers, i. 168, 169, 201; ii. 96 Flesquières, i. 242, 243, 252, 301, 305, 307, 310; ii. 171, 172, 173 Foch, Marshal, i. 112, 265, 270, 283; ii. 207 Folembray, i. 10 Follett, Lieut.-Col. G. B. S., i. 240 Fontaine-au-Tertre, i. 313 Fontaine-Notre-Dame, i. 239, 240, 241, 242, 301; ii. 171, 172, 173, 175 Fontenay, i. 14 Fontenoy, a manœuvre of, i. 327 Football matches, i. 69, 185, 250, 320; ii. 65, 66, 106, 180-181, 212 “Forked Tree” camp, i. 189 Formidable, H.M.S., signal from, i. 2 Fort Rouge, i. 211 Foster, Capt. (Coldstream Guards), ii. 196 Fourché Farm, ii. 53
  • 37. Fowkes, Major (R.E.), i. 62 Fowler, Lieut. (R.F.A.), i. 294 Fox, Lieut. V. W. D., i. 65, 81, 85; ii. 218 Frasnoy, i. 324 Frégicourt, i. 206; ii. 119 French, Field-Marshal Sir John, G.C.B., i. 29, 46, 102, 104 French, 2nd Lieut. V. J. S., i. 310, 312, 314; ii. 218 French forces in action: Ypres (1914), i. 31, 32, 34, 37, 39, 40; Cuinchy, i. 61, 62, 67, 68, 113; Loos, i. 109; Arras, i. 112; the Somme, i. 161, 162, 189, 195; ii. 96, 112; Ypres (1917) i. 213, 218, 230, 237; ii. 142, 145, 152, 153, 154, 166, 168; (1918 offensive), i. 282, 283, 284; ii. 207 Fresnoy, i. 285 Frezenberg, i. 222 Fricourt, i. 154; ii. 92 Gamble, 2nd Lieut. R., M.C., ii. 224 Gas, first use of, at Ypres, i. 79-80; ii. 58 Gas-attack, Laventie, arrangements for, ii. 41, 42-45 Gas-helmets: their subduing effect, i. 124; unpopularity of, ii. 183, 203 Gatti, 2nd Lieut. J. A. S., M.C., ii. 222, 224, 230 Gauche Wood, i. 246, 247, 248; ii. 178 Gavrelle, i. 252 George V., H. M. King, i. 47, 49, 121, 156; ii. 93, 104, 139 Germaine, i. 206 Germany, entry into, i. 331; ii. 212 Gheulvelt, i. 35 Gibraltar, a German battle-honour, ii. 148
  • 38. Gibraltar Post, i. 56 Gibson, Lieut. T. C., O.B.E., i. 159, 164, 177; ii. 160, 163, 221, 224 Ginchy, i. 161, 162, 163, 165-174, 175; ii. 95, 96, 97-103, 109, 132, 178 Givenchy, i. 71, 73, 77, 90 Givenchy-en-Gohelle, i. 113 Givet, i. 329 Glennon, Sgt., ii. 90, 110 Gloucestershire Regt., ii. 199 Glynn, Sgt. J., D.C.M., i. 48, 129; ii. 279 Goat, the mascot, in Metz cellars, i. 242-243 n. Godley, Maj.-Gen. Sir A. J., K.C.B., K.C.M.G., i. 212 Godman, Colonel (Scots Guards), ii. 99, 128 Gomiecourt, i. 197, 201, 202, 238; ii. 92 Gonnelieu, i. 238, 239, 243, 246-247, 248, 250, 251, 252; ii. 170, 177 Gordon, Lieut.-Col. A. F. L., D.S.O., M.C., i. 87, 88, 99, 129, 136, 181, 184, 228, 255, 256, 257, 268, 273, 277, 310, 314, 320; ii. 204, 216, 222, 223, 225 Gordon Camp, i. 259 Gordon Highlanders, i. 36, 37, 294; ii. 183; advice on pipers’ kilts sought from, ii. 157 Gore-Langton, Capt. M. V., M.C., i. 24, 39, 87, 88, 97, 99, 116, 122; ii. 217, 220, 225, 226 Gort, Lieut.-Col. Viscount, V.C. (Grenadier Guards), i. 307, 308; ii. 7 Gotha Trench, i. 205 Gough, Capt. E. J. F., i. 2, 19, 24, 44, 50, 52; ii. 217 Gough, Capt. G. P., i. 46, 50, 51; ii. 220 Gough, Capt. Hon. H. W., M.C., i. 3, 53; ii. 219, 225 Gouzeaucourt, i. 242-246, 250, 251, 252, 260, 309; ii. 177-178, 179 Gouzeaucourt Wood i. 247, 249; ii. 177, 178 Grady, C.Q.M.S.R., i. 81, 129 Graham, Lieut. F. F., i. 55, 60; ii. 220 Graincourt, i. 240, 301, 307, 308; ii. 173, 176
  • 39. Grand Loge Farm, i. 14 Grandcourt, i. 197, 198, 200 Gravenstafel spur, the, i. 229 Grayling-Major, Lieut. J., i. 87, 88, 111, 129; ii. 220 Grayson, Lieut. R. H. S., i. 235; ii. 14, 220 Greaney, Sgt. M., i. 129 Green, 2nd Lieut. (Coldstream Guards), ii. 43 Greenfield, Major T. W. B., D.S.O., ii. 224 Greer, Lieut.-Col. E. B., M.C., i. 2, 17, 35, 58, 190; ii. 40, 51, 69, 75, 91, 94, 119, 128, 143, 145, 146, 147 n., 151, 152, 154, 216, 218, 220, 225 Greer, Lieut. F. St. L., M.C., ii. 88, 98, 99, 106, 124, 219, 225 Greer, Lieut. J. K. M., M.C., i. 85, 147, 164, 167; ii. 218, 220, 225 Grenadier Guards: 1st Battalion: (1915) Laventie, ii. 57 (1917) Yser Canal and the Broembeek, i. 220, 233-234 (1918) Arras, i. 257; Prémy Chapel, i. 307, 308 Drums of, ii. 204 2nd Battalion: (1914) i. 1, 4; Mons, i. 5, 7; Soupir, i. 16, 19, 20, 23; Ypres, i. 26, 30, 33, 35, 36, 39, 43, 45, 51 (1915) La Bassée, Cuinchy, i. 54, 58, 61, 64, 89, 94; Neuve Chapelle, i. 71; Festubert, i. 83, 84; Loos, i. 109, 114, 115, 116 (1916) Ypres, i. 139, 142, 145, 152, 153; ii. 76, 77, 78; the Somme: Ginchy, Lesbœufs, i. 156, 164, 169, 179, 180, 181, 182; ii. 99, 104 (1917) the Somme: Sailly-Saillisel, i. 190; ii. 112, 115; Yser Canal and the Broembeek, i. 231, 232, 233, 234; ii. 152; the Somme: Gouzeaucourt, Gauche Wood, i. 244, 246 (1918) the Scarpe: the March Push, i. 254, 256, 257, 259, 266, 276, 279; St. Léger, i. 289, 290, 294; the Canal du Nord, i. 307; the advance on Maubeuge, i. 311, 317, 318-319, 323, 325, 328
  • 40. Boxing matches with 1st Irish Guards, i. 69 Brigade Platoon Competition won by, i. 208 3rd Battalion: (1914) i. 1 (1915) Cuinchy, i. 61; Loos, the Hohenzollern, Laventie, ii. 10, 18, 34 (1916) the Somme: Ginchy, ii. 96, 97, 100, 107-108 (1917) Yser Canal, i. 221; ii. 136, 149; the Somme: Bourlon Wood, i. 241; ii. 173 (1918) the Scarpe, i. 243; the advance on Maubeuge, i. 324, 327 Boxing competitions, ii. 80 4th Battalion: (1915) formation, ii. 1; Laventie, i. 125 (1916) Laventie, ii. 49; the Somme, ii. 94-95 (1917) the Somme: Sailly-Saillisel, i. 205; Bourlon Wood, i. 241; Gouzeaucourt, i. 244 (1918) in Fourth Guards Brigade, i. 253; ii. 180 n., 184; Arleux, ii. 185; the Somme: March Push, ii. 187, 188; Vieux-Berquin, ii. 193-194, 195, 196, 201; the advance, ii. 208, 210 Grenay, i. 106, 112 Grévillers, i. 197, 262 Gricourt, i. 309 Grimwood, C.S.M., ii. 141 Grougis, i. 4 Gruyterzaele Farm, ii. 166 Guards Brigade: 4th (Guards) Brigade, i. 1, 4, 5-6, 8, 9 sqq., 103, 283; becomes 1st Guards Brigade of Guards Division, i. 101, 102 4th Guards Brigade created, i. 253, 258; ii. 180 n., 184; its stand at Vieux-Berquin, ii. 197, 201; as a training corps, ii. 205, 207. Guards Division, formation of, i. 101; (1919) march through London, ii. 215-216, 222
  • 41. Guards Machine-Gun Regt., i. 290, 292, 303, 307 Guernsey, Lieut. Lord, i. 3, 17; ii. 218 Gueudecourt, i. 162, 180, 202; ii. 96, 104, 107 Guildford Street, ii. 22, 23 Guillemont, i. 161, 163, 190; ii. 97, 103 Gunston, Major D. W., M.C., i. 55, 321; ii. 114, 145, 147, 148, 153, 225 Gurkha Regt., 9th, i. 51 Gusty Trench, ii. 109 Guthrie, Capt. J. N., i. 2, 17, 81, 85; ii. 217, 219 Gwynne, Capt. Rev. Father J., i. 46, 50, 54, 63, 73, 81, 87, 94-95, 117, 118, 119, 132; ii. 218 Hague, Ian, ii. 80 Haie Wood, ii. 113, 114, 117 Haig, Field-Marshal Sir Douglas, G.C.B., i. 47, 102, 103, 237, 253, 269; ii. 64, 168, 180, 201 Haisnes, i. 106, 107, 108 Haking, Lieut.-Gen. Sir R., G.B.E., K.C.B., i. 105; ii. 6, 7 Hall, Lieut.-Col. Sir J. R., Bart, C.B.E., ii. 223 “Hallam, Basil,” ii. 94 Halligan, 2nd Lieut. J. (2nd Leinster Regt.), i. 105, 146 Hally Avenue, i. 289 Halpin, Sgt., ii. 90 Ham, i. 6, 262 Hamel, i. 282; ii. 206 Hamel Switch, i. 288, 295 Hamelincourt, i. 263, 286, 287; ii. 187 Hamilton, Capt. Lord John, i. 2, 41; ii. 217, 223 Hammond, 2nd Lieut. C. E., M.C., i. 236; ii. 225, 229 Hampshire Regt., i. 233 Hanbury, Capt. C. E. R., i. 129, 135; ii. 119, 123, 145, 153, 167, 218, 221
  • 42. Hanbury-Tracy, Capt. Hon. W. C., i. 42, 44 Hannay, Capt. R., ii. 29, 30, 144, 221 Hanoverian Fusiliers, 73rd, ii. 149 “Happy” Battalions, the mystery of, ii. 53, 168, 216 Happy Valley, ii. 94 Haquin, ii. 8 Hardecourt, i. 157 Harding, Capt. C. R., O.B.E., i. 19, 43; ii. 220, 224 Hargnies, i. 4 Hargreaves, Capt. L. R., M.C., i. 42-43, 44, 50, 52, 87, 88, 105, 159, 163, 164, 169, 176, 180, 181; ii. 217, 221, 225 Harmignies-Mons road, i. 5, 6; ii. 215 Harmsworth, Capt. Hon. H. A. V. St. G., M.C., i. 47, 50, 98; ii. 169, 176, 218, 220, 222, 225, 229 Harpies River, i. 318 Harradine, C.S.M., D.C.M., i. 38, 53, 81; ii. 90, 279 Harrington, Pte. i. 17 Harrison, 2nd Lieut. S. S., M.C., ii. 222, 225, 228 Hartmannsweillerkopf operations, lecture on, ii. 47 Harveng, i. 5. Harvey, Capt. E. M., M.C., i. 185, 234, 278, 314, 317, 319; ii. 222, 225, 228 Harvey, Capt. F. M., M.C. (R.A.M.C.) ii. 106, 115 Harvey, Colonel J. (Post Office Rifles), i. 74 Haussy, i. 315 Haute Rièze, i. 121 Haviland, Lieut.-Col. R. S. de (Eton O.T.C.), i. 76 Havre, Le, i. 3; ii. 3 Havrincourt, i. 310 Havrincourt Wood, i. 239 Hay, Capt. Lord Arthur, i. 3, 17; ii. 217 Haydon, 2nd Lieut. J. C., i. 269, 314
  • 43. Haymarket, the, Ypres, i. 138 Hazebrouck, i. 26, 27, 133, 270, 283; ii. 47, 91, 191, 198, 201, 202, 204 Heard, Lieut. R. H. W., M.C., i. 82, 86, 88, 115; ii. 105, 197, 219, 220, 230 Heaton, 2nd Lieut. G. T., i. 290, 294; ii. 223 Hébuterne, ii. 92 Hegarty, Capt. D. J., M.C., i. 147, 290, 291, 314; ii. 221, 225, 231 Hell Fire Corner, i. 138, 142; ii. 77, 79 Hely-Hutchinson, Capt. M. R., M.C., ii. 95, 115, 145, 170, 225 Hendecourt-les-Ransart, i. 278, 286 Henderson, 2nd Lieut. H. M., ii. 223 Hénin-sur-Cojeul, i. 261, 264 Hennigan, Lance-Cpl. P., D.C.M., i. 64, 153; ii. 279 Henry, Pte. J., D.C.M., i. 97; ii. 279 Herbert, Capt. Hon. A. N. H. M., M.P., i. 2, 11; ii. 223 Herbert-Stepney, Major H. A., i. 2, 9, 14, 15, 19, 34, 42, 334; ii. 217 Hermies, i. 238, 239 Herts Territorials, 1st (“Herts Guards”), i. 51, 54, 58, 63, 71, 85, 90, 92, 93, 102 Herzeele, i. 217, 230; ii. 138, 164 Heudicourt, i. 243 Hey Wood, ii. 147 Hickie, Capt. and Quartermaster H., M.B.E., M.C., i. 2, 4, 44, 50, 81, 88, 128, 191, 212, 330; ii. 224, 225 Higgins, Pte., ii. 25 High Wood, i. 161 Highland Light Infantry, i. 56; 15th, i. 278 Hill 60, i. 77 Hill 69, i. 107 Hill 70, i. 107, 109, 112 Hilley, Pte., ii. 162
  • 44. Hindenburg Line, the, i. 197, 206, 210, 238, 239, 249; attacked and broken, i. 295, 300-309; ii. 170, 171 Hine, 2nd Lieut. G. V. B., ii. 16, 17, 219 Hogg, Capt. K. W., i. 87, 88; ii. 220 Hohenzollern Redoubt, the, i. 107, 108, 113, 114-119, 120; ii. 15 sqq. Hollebeke, i. 29, 37, 222, 228 Holmes, Lieut. H. C., i. 173; ii. 221 Hondeghem, i. 147; ii. 204 Honnecourt, ii. 117 Honsfeld, ii. 213 Hooge, i. 32; ii. 80, 81 Hooge Château, i. 33, 44 Hope, Lieut. W. E., i. 2, 41; ii. 218 Hopley, Capt. F. J. (Grenadier Guards), ii. 99 Hordern, Lieut. H. R., ii. 63, 90, 92, 221 Horne, General Sir H. S., G.C.B., K.C.M.G., i. 87, 100, 103, 104 Hornoy, i. 185, 186; ii. 107 Horse-shows, Brigade, i. 211, 278 Horton, Pte., ii. 23 Houbinghem, ii. 157 Hougoumont, Laventie, i. 126 Houlle Camp, ii. 168, 170 Household Battalion disbanded, i. 259; ii. 186 Household Cavalry, i. 41 Houthulst Forest, i. 225, 229, 231, 232, 235; ii. 154, 156, 158, 164 Hubbard, Capt. G. N., i. 49; ii. 8, 24, 26, 29, 32, 221 Hudson-Kinahan, Lieut. D. D., ii. 20, 29, 71, 219 Hughes-Onslow, Capt. O., i. 2 Hulluch, i. 106, 107, 108, 109, 110, 112, 113, 116, 117, 118 Hunt, 2nd Lieut. A. G., ii. 219 Hunter Street, ii. 139, 142
  • 45. Hutchinson, 2nd Lieut. A. E., M.C., i. 278, 294; ii. 223, 225, 231 Hyderabad Support Trench, i. 258 Hyne, Lieut. C. G. H. C., ii. 90, 102, 219, 221 Indian troops in France, i. 51 Innes, Lieut. A. C. W., M.C., i. 47, 50, 60, 62, 173; ii. 221, 225, 226 Innes-Ker, Major Lord Robert, i. 3, 11; ii. 223 International Corner, ii. 138 Irish Guards: 1st Battalion: Commanding Officers of, i. 333 (1914) mobilization, i. 1; Havre, i. 3: Vadencourt, i. 4; march towards Mons, i. 4-5; Mons, i. 5-6; the retreat, Villers-Botterets, i. 6-14: advance to the Aisne, Boitron Wood, i. 14-18; Soupir, i. 18-25: the Salient and First Battle of Ypres, i. 26, 30-46; ii. 67-68: Meteren, i. 46-51; Cuinchy, i. 50-52 (1915) Cuinchy, the Brick-stacks, i. 53, 54-56, 57, 58-69; Neuve Chapelle, Givenchy, i. 69, 70, 75, 76, 77, 78-79, 81-82; Festubert, i. 82-86; Nœux-les-Mines, i. 88-89: Sailly-Labourse, i. 89-91: Annequin, i. 91, 94; Béthune, i. 91-93; Cuinchy, the Brick-stacks i. 93-100; St. Omer, i. 102: Thiembronne, i. 104-105, 107; meet 2nd Battalion at St. Pierre, i. 105; ii. 5-6; Loos, Vermelles, i. 110-112; Hohenzollern Trenches, i. 113-119; Vermelles, i. 120-121; Laventie, i. 123-129; ii. 38; La Gorgue, i. 125, 128 (1916) Merville, i. 130, 131; ii. 46, 56; Laventie, i. 127;
  • 46. Ypres Salient, i. 132-134; Calais, i. 134-135; ii. 64; Ypres Salient, i. 137-150, 152-155; the Somme: Vauchelles-les-Authies, i. 155-156, 159; Louvencourt, i. 156-157: Méaulte, i. 160; Ginchy, i. 163-174, 175, 176, ii. 97; Lesbœufs, i. 177-182; ii. 104; Hornoy, i. 185-186; meet 2nd Battalion at Aumont, ii. 106: Méaulte, i. 187, 188-190; Lesbœufs, Sailly-Saillisel, Combles, i. 187, 189-192; ii. 111-112, 119 (1917) the Somme: Méricourt l’Abbé, i. 199-200; Rancourt, i. 200, 203-4; Sailly-Saillisel, i. 205, 206; ii. 128, 130; Le Transloy, i. 207; Bronfay, i. 207; Etricourt, i. 209; Curlu, i. 209; St. Omer, i. 311; Ypres Salient: Boesinghe, i. 213-223; Third Battle of Ypres, crossing of the Broembeek, Houthulst Forest, i. 224, 225-226, 230-235; the Somme: Bayenghem-les-Eperlecques, i. 236-237: Cambrai offensive, i. 238-241: Gouzeaucourt Gonnelieu, i. 242-249; ii. 177-178; Beaumetz-les-Loges, i. 249, 250 (1918) Arras and the Scarpe, i. 252, 253-259; March Push: Boisleux-St. Marc, Hamelincourt, Boiry-St. Martin, i. 261- 269; Saulty, Ayette, i. 271, 273-276: Monchy, Bavincourt, Saulty, i. 276, 277-278; Hendecourt, i. 278, 286; Hamelincourt, i. 287-288; St. Léger, i. 289-294: Lagnicourt, Mœuvres, i. 296-297, 298, 299; the Canal du Nord, Flesquières, i. 300, 301-309: Demicourt, i. 308, 310; Seranvillers, Beauvais-les-Cambrensis, Bévillers, Quiévy, i. 311-315: the rivers round Maubeuge, i. 316-317; St. Python, i. 317-321: the Rhônelle crossing, i. 323-325: Vavai to Assevant, i. 325-327:
  • 47. the Armistice, i. 327-328; Maubeuge, i. 328-329; the journey to Cologne, i. 329, 332, 333 2nd Battalion: a “happy” Battalion, ii. 53-54, 168, 216 Commanding Officers of, ii. 216 (1915) formation, ii. 1-3; leaves England, i. 101; ii. 3; Havre, ii. 3; Acquin, ii. 4, 7; meet 1st Battalion at St. Pierre, i. 104: ii. 5; Linghem, Haquin, ii. 8; Le Rutoire, ii. 8-9; Loos, Chalk-Pit Wood, ii. 9-15; Verquigneul, ii. 14; Vermelles, the Hohenzollern, i. 119, 120; ii. 15-28, 30; Bourecq, ii. 29-30; La Gorgue, ii. 30, 34; Laventie, ii. 31-33; Merville, ii. 35; Laventie, ii. 36-38, 39-46; La Gorgue, Merville, ii. 38-40, 46-47 (1916) Laventie, ii. 49-55, 57-58, 60-62; La Gorgue, ii. 56, 62-63; Merville, ii. 59-60; Wormhoudt, Poperinghe, ii. 63, 66-67; Calais, ii. 64-66; Ypres Salient, ii. 66-74, 75-79; Poperinghe, ii. 73; Brandhoek, ii. 76; Proven, Bollezeele, ii. 80-81, 91; Hooge, ii. 81-83; Vlamertinghe, ii. 83-84; Elverdinghe, the Yser Canal, ii. 84-89; Camp P., ii. 90; the Somme: Lucheux, Mailly-Maillet, Couin, ii. 92-94; Méricourt l’Abbé, ii. 105; Ginchy, ii. 95-96, 97-103; Carnoy, ii. 103; Lesbœufs, i. 181; ii. 103-104; Trônes Wood, Carnoy, Méricourt-en-Vimeux, ii. 105-107; meet 1st Battalion at Aumont, ii. 106; Méaulte, Trônes Wood, ii. 108;
  • 48. Lesbœufs, Sailly-Saillisel, Combles, Haie Wood, i. 190, 191; ii. 111-112, 114-118; Bronfay, ii. 113-114 (1917) the Somme: Corbie, Maurepas, ii. 119; Rancourt, ii. 119-124, 125-127; Morval, Ville, Priez Farm, Billon, ii. 124; St. Pierre Vaast Wood, i. 203; ii. 128-131; railway and road-work, ii. 131-133; Curlu, Méricourt l’Abbé, ii. 134-135; Ypres Salient: Elverdinghe, the Yser Canal, ii. 136-137, 140-146; Herzeele, ii. 138-139; Third Battle of Ypres, Boesinghe, ii. 145-152; the Steenbeek, ii. 152-154; Porchester Camp, Paddington Camp, Abingley Camp, ii. 154-156; the Broembeek, Houthulst Forest, ii. 158-162, 164-167; Dulwich Camp, Putney Camp, Herzeele, Houlle Camp, ii. 163-164, 167- 170; the Somme: Cambrai offensive, Bourlon Wood, i. 241, 304; ii. 171-176; Gouzeaucourt, ii. 177-179; Simencourt, ii. 179-181 (1918) Arras and the Scarpe, ii. 182-184; transferred to 4th Guards Brigade, i. 253, 258; ii. 184, 185; Bray, ii. 184-185; Arleux, ii. 185; Villers-Brulin, Béthonsart, ii. 186; March Push: Hamelincourt, Moyenneville, Ayette, ii. 186-189; Chelers, ii. 190; Vieux-Berquin, i. 270; ii. 191-202; Bois d’Avaal, Ferme Beaulieu, ii. 202-203; Hondeghem, ii. 204; Barly, Bavincourt, ii. 205-206; Criel Plage, ii., 207-209; after the Armistice: Cambrai, Maubeuge, Charleroi, ii. 210-211; the journey to Cologne, ii. 211-214 (1919) the march through London, ii. 215-216 Irish Rifles, i. 6. Irish Star made at Ypres, i. 142; at Le Transloy, i. 207 Irles, i. 202, 262 Iron Cross Captured, i. 64 Iron Cross Kortikaar-Cabaret road, i. 220, 226
  • 49. Iseghem, i. 28 James, Lieut. G. L. B., ii. 29, 141, 219 Jamrack, 2nd Lieut. A. W. G., i. 250, 258 Jeffreys, Brig.-Gen. G. D., C.B., i. 227 Jewel Trench, i. 289 Joffre, Marshal, i. 13, 15 Johnson Avenue, i. 255 Joyce, Capt. W. J. P., i. 212, 245, 250, 269, 290, 294; ii. 222 Kane, Lieut. J. J., i. 185, 192; ii. 153, 157, 222 Keating, 2nd Lieut. H. S., i. 47, 50, 53, 56; ii. 218 Keenan, Capt. J. B., i. 273, 314, 319, 320; ii. 30, 64, 99, 142, 190, 221 Keep, the, i. 62 Kemmel, i. 269 Kemmel Hill, i. 284 Kemp, Capt. R. B. H., i. 55, 81, 84; ii. 220 Kenny, Pte. M., M.M., i. 183; ii. 281 Kent, 2nd Lieut. G. R., ii. 190, 205 Kerry, Lieut.-Col. the Earl of, M.V.O., D.S.O., ii. 2 Khartum, Bishop of, i. 69 King Edward’s Horse, ii. 129 King, Pte., ii. 122-123 King, 2nd Lieut. N., ii. 219 King’s Liverpool Regt., i. 71; 1st, i. 277; 5th, i. 84; 8th, i. 298 King’s Own Yorkshire Light Infantry, ii. 15, 93; 12th, ii. 202 King’s Royal Rifles, i. 53, 104 Kingston, Capt. the Earl of, i. 37, 55, 184, 190; ii. 220
  • 50. Kingston, Pte., ii. 23 Kipling, Lieut. J., ii. 11, 14, 219, 223 Kirk, Sgt.-Major J., i. 55, 129, 139 Kitchener, Field-Marshal Earl, K. G., i. 49, 51, 73, 107, 132; ii. 3 Klein Zillebeke, i. 36, 44, 213 Kluck, General von, i. 8 Knapp, Capt. Rev. Father A. H. A., i. 129 Knapp, Capt. Rev. Father S. S., D.S.O., M.C., i. 87, 88, 94, 119, 132; ii. 5, 45, 65, 124, 143, 150, 151, 154, 219 Koch de Gooreynd, 2nd Lieut. A. L. W., i. 310, 314 Koekuit, i. 234; ii. 166 La Bassée, i. 28; fighting round, i. 57, 58 sqq.; ii. 191 La Brique, i. 145 La Cour de Soupir Farm, i. 16, 18 La Couronne, i. 270; ii. 192, 198 La Crosse, i. 211 La Fère, i. 6, 260 La Flinque Farm, ii. 40, 46 La Gorgue, i. 125, 128, 132; ii. 30, 34, 35, 38, 46, 47, 49, 56-57, 63, 192 La Justice, i. 240, 242; ii. 173, 176 La Longueville, i. 4, 7 Labour Battalions: the “Broody Hens,” ii. 111; the Montauban camp, ii. 131 Labour Corps at Gouzeaucourt, i. 243-245 Lagnicourt, i. 296, 302 Lagny, i. 13 Lancashire Farm, i. 148; ii. 87 Lancashire Fusiliers: 10th, i. 133;
  • 51. 20th, i. 235; 24th, i. 271 Lancer Avenue, i. 253-254 Lancers, 12th, i. 147; 21st, ii. 129 Landrecies, i. 6, 7, 8; the Drum at, i. 8, 136 Lane-Fox, Capt. Rev. Father P. J., i. 132, 135, 136, 185; ii. 64 Langemarck, i. 28, 32, 79; attack on (1917), i. 224, 228, 229 Langrishe, 2nd Lieut. T. H., i. 105, 111 Lapugnoy, i. 86, 87, 121, 123 Laventie, i. 82, 115, 123-128; ii. 28, 31 sqq., 36 sqq., 49, 58, 69 Laventie East post, ii. 49 Law, Capt. H. F. D’A. S., M.C., i. 98, 111, 127, 186, 219, 221, 224; ii. 204, 222, 225 Lawson, Capt. J. I., M.C. (R.A.M.C.), ii. 230 Le Bertrand, i. 14 Le Cateau, i. 6, 8 Le Cornet Perdu, ii. 194, 197 Lee, 2nd Lieut. F. H. N., i. 148; ii. 218, 221 Lee, 2nd Lieut. L. C. L., i. 47, 50, 59, 60; ii. 218 Lees, Capt. D., D.S.O., M.C. (R.A.M.C.), ii. 150, 156 Leicestershire Regt., ii. 20, 176 Le Mesnil-en-Arrouaise, i. 205, 206 Le Murger Farm, i. 10 Lens, i. 112, 252, 309 Le Plessis, i. 14 Le Préol, i. 72, 79 L’Epinette Farm, ii. 194 Le Quesnoy, i. 6, 321, 322 Le Quesnoy-en-Santerre, i. 197
  • 52. Le Rutoire Farm, i. 112; ii. 8 Le Sars, i. 195 Lesbœufs, i. 161, 162, 164; ii. 107, 132, 178; attack and capture of, i. 178-182, 194-195; ii. 96, 101, 102, 103-104, 178 Lesves, i. 330; ii. 212 Le Touquet, i. 204, 212 Le Touret, i. 51, 56, 83, 86 Le Transloy, i. 161, 189, 197, 207; ii. 104, 132, 178 Le Transloy-Arras Salient, i. 197-199, 200, 201, 202 Le Transloy-Loupart line, i. 202 Leuze Wood, i. 161, 162; ii. 96 Levy, Capt. M. B., M.C., i. 121, 129; ii. 164, 180, 194, 199, 225 Lewis, Pte. M., M.M., i. 184; ii. 281 Lierneux, i. 331 Liévin, i. 112 Life Guards: 1st, i. 41; 2nd, i. 40, 41 Lille, i. 70, 321; ii. 22 Lillers, i. 107; ii. 29 Lincolnshire Regt., i. 173 Linghem, ii. 8 Little Willie Trench, ii. 23 Livingstone-Learmonth, 2nd Lieut. J., i. 2 Lloyd, Maj.-Gen. Sir Francis, K.C.B., D.S.O., i. 300; ii. 3, 46 Locon, i. 56, 58 Lofting, 2nd Lieut. H. J., i. 269; ii. 145, 227 London Regt., 3rd, ii. 108; 15th, i. 75, 77 London Territorial Artillery, 2nd, i. 76 Lone Tree, Loos, i. 108, 112; ii. 9
  • 53. Long-Innes, Major P. S., M.C., i. 55, 59, 129, 164, 173, 183; ii. 189, 220, 225 Longuenesse, i. 146 Longueval, i. 157 Loos: preparations for, i. 101-102, 105-106; ii. 5-7, 8; the battle, i. 106, 119; ii. 7, 8-15. Lord, 2nd Lieut. E. C. G., i. 236, 273; ii. 218 Loupart Woods, i. 197 Louvencourt, i. 156-157 Louvois Farm, i. 234 Lovenich, i. 331 Lowry, C.Q.M.S., J. G., i. 81 Loyal North Lancashire Regt., 1/5th, i. 298 Lucas, Sgt., ii. 110 Lucheux, ii. 92 Lumbres, ii. 4, 6 Lynch-Blosse, 2nd Lieut. F. C. L., ii. 170, 176, 222 Lys, River, German offensive and defeat on, i. 269-271, 281, 282, 283, 285; ii. 201 Lysaght, Lieut. J. L., ii. 93, 99, 155, 161, 169, 226 Lyttelton, Capt. O. (Grenadier Guards), ii. 101 McCalmont, Lieut.-Col. R. C. A., D.S.O., i. 123, 128, 135, 181, 190, 204, 334; ii. 46, 224 McCarthy, Lieut.-Col. A. H. L., D.S.O., M.C. (R.A.M.C.), i. 34, 50, 56, 81, 87, 94, 117, 178 McCarthy, Lance-Sgt. G., ii. 23 McCullagh, Cpl. E., M.M., i. 224; ii. 282 McCusker, a/C.S.M. F., M.M., i. 224; ii. 282 Macdonald, Sgt., M.M., i. 225; ii. 282 Macfarlane, Sgt. R., ii. 169, 283 McGoldrick, C.Q.M.S. P., D.C.M., i. 48, 81, 129; ii. 279
  • 54. MacGuinn, Sgt., ii. 68 M’Guinness, Sgt., ii. 160 McHale, Lance-Cpl. S., M.M., i. 225; ii. 282 Mackenzie, Lieut. (Scots Guards), ii. 99 Mackwood, 2nd Lieut. E. O., ii. 222 MacLachlan, 2nd Lieut. G. C., i. 269, 272; ii. 222 MacMahon, Lieut. P. S., i. 290, 294; ii. 222 MacMahon, Capt. T. F., M.C., i. 173, 177, 179, 183, 184, 227, 228; ii. 222, 225 McMullen, C.S.M., D.C.M., i. 183; ii. 279 McNally, Sgt., ii. 150 McNeill, Capt. R., ii. 73, 84, 89 McVeigh, C.S.M. H., i. 81, 129 Madden, Lieut.-Col. G. H. C., i. 19, 20, 87, 101, 105, 117, 118, 334; ii. 2, 217, 221 Magnicourt-le-Comte, i. 237 Maher, Lieut. J. C., ii. 180, 199, 219 Mailly-Maillet, i. 156; ii. 92, 93 Maitland, Lieut. G. M., i. 19, 38, 39; ii. 218, 223 Malgarni, i. 7 Malplaquet, i. 326 Maltz Horn Camp, i. 189; ii. 117 Mametz, i. 157 Manancourt, i. 206 Manning, Lieut. B. O. D., ii. 155, 159, 163, 223 Mansell Camp, ii. 108 Mansfield, Pte. J., D.C.M., i. 78 March Push, the, 1918, i. 259-263; ii. 182, 187-190, 200 Marchienne, ii. 211 Marcoing, i. 301, 309; ii. 171 Mareuil-sur-Ourcq, i. 26 Marguerite Farm, ii. 142
  • 55. Maricourt, i. 200; ii. 92, 115 Marion-Crawford, 2nd Lieut. H., i. 47, 50, 69, 73, 77; ii. 218 Marne River: battle and crossing of, i. 16; second battle (1918), i. 282, 283-284; ii. 207 Maroilles, i. 4 Marshall, Lieut. J. N., V.C., M.C., i. 147, 148, 153; ii. 219, 221, 223, 225, 231, 233-234 Martin, Pte. J., M.M., i. 225; ii. 281 Martinpuich, i. 162, 164; ii. 96 Mary, H. M. Queen, i. 51 Mary, H. R. H. Princess, i. 52 Masnières, i. 239, 311 Matheson, Colonel (Herts Regt.), i. 71 Matheson, General T. G., C.B., i. 300, 329, 331 Mathieson, Lieut. G. F., i. 278, 304, 308; ii. 223 Mathieson, Lieut. K. R., i. 39; ii. 218 Mathew, 2nd Lieut. T., M.C., ii. 180, 203, 225, 230 Matthews, O. R. Cr. Sgt. P., i. 129 Matthews, Lance-Sgt. R., i. 108 Maubeuge: advance on, i. 309 sqq., 316-317, 326-327; entry into, i. 327, ii. 1; ceremony in, i. 328-329 Maughan, 2nd Lieut. T. B., i. 269; ii. 222 Maurepas, i. 200, 203; ii. 119, 122 Maxse, Gen. Sir Ivor, K.C.B., D.S.O., ii. 134 Maxwell, Lieut. H. H., i. 185, 217, 234; ii. 221 Mazingarbe, i. 113, 114 Méan, i. 330 Méaulte, i. 160, 188, 189, 199, 204, 262; ii. 108 Meaux, i. 13
  • 56. Menin, i. 28, 32 Menin road, the, i. 28, 32, 33, 138, 228, 229; ii. 69, 77, 81 Méricourt-en-Vimeux, ii. 105-107, 108 Méricourt l’Abbé, i. 160, 199; ii. 94, 134-135 Merville, i. 123, 130, 131, 269; ii. 35, 36, 47, 59, 191, 193 Messines, i. 269; ii. 135, 169 Messines Ridge, i. 210, 211 Meteren, i. 46-47, 48 Metz-en-Couture, i. 242 Meuse Line, German, i. 328-329 Meuse River, crossing of, i. 330 Michael, H.I.H. Grand Duke, i. 46 Middlesex Regt., 21st, ii. 187 Milligan, Sgt., D.C.M., ii. 151-152, 156, 279 Mills bomb, the, i. 73, 89 Mining operations: Givenchy, i. 77-79; Cuinchy, i. 98; Laventie, ii. 63, 64; Messines Ridge, i. 211 Miraumont, i. 201, 202, 262 Models of battle-area used in training for attack, i. 217, 230; ii. 138-139, 144, 148, 152 Mœuvres, i. 239, 297 Monash, Lieut.-Gen. Sir J., K.C.B., ii. 206 Monchy-au-Bois, i. 197, 272, 273, 276, 296 Mondicourt, ii. 204 Monmouthshire Regt., 1st, ii. 19, 20 Monro, General Sir Charles, G.C.B., i. 73 Mons: situation at, i. 4-5; retreat from, i. 5-14
  • 57. Welcome to our website – the ideal destination for book lovers and knowledge seekers. With a mission to inspire endlessly, we offer a vast collection of books, ranging from classic literary works to specialized publications, self-development books, and children's literature. Each book is a new journey of discovery, expanding knowledge and enriching the soul of the reade Our website is not just a platform for buying books, but a bridge connecting readers to the timeless values of culture and wisdom. With an elegant, user-friendly interface and an intelligent search system, we are committed to providing a quick and convenient shopping experience. Additionally, our special promotions and home delivery services ensure that you save time and fully enjoy the joy of reading. Let us accompany you on the journey of exploring knowledge and personal growth! ebookfinal.com