1050 lines
52 KiB
TeX
1050 lines
52 KiB
TeX
\input{packages.tex}
|
|
|
|
% setup things
|
|
\setcounter{secnumdepth}{4}
|
|
\setcounter{tocdepth}{4}
|
|
%\setcounter{secnumdepth}{4}
|
|
|
|
% setup bibliography
|
|
\addbibresource{bibliographie.bib}
|
|
|
|
% --------------------------------------------------------------------------------------
|
|
\begin{document}{
|
|
% --------------------------------------------------------------------------------------
|
|
|
|
|
|
\sloppy % allow flexible margins
|
|
\input{titlepage.tex} % import titlepage
|
|
\newpage
|
|
|
|
% --------------------------------------------------------------------------------------
|
|
% License page
|
|
% --------------------------------------------------------------------------------------
|
|
|
|
\setcounter{page}{2}
|
|
\vspace*{\fill} % fill the page so that text is at the bottom
|
|
|
|
This is Edition 0.0. \newline
|
|
|
|
Copyright (C) 2024 Adrien 'neox' Bourmault \href{mailto:neox@gnu.org}{<neox@gnu.org>} \newline
|
|
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.3
|
|
or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
|
A copy of the license is included in the section entitled "GNU
|
|
Free Documentation License".
|
|
|
|
\newpage
|
|
|
|
% Table of contents
|
|
\tableofcontents
|
|
|
|
\newpage
|
|
|
|
\chapter*{Abstract}
|
|
|
|
\addcontentsline{toc}{chapter}{Abstract}
|
|
|
|
The global trend is towards the scarcity of free software-compatible hardware,
|
|
and soon there will be no computer that will work without software domination
|
|
by big companies, especially involving BIOSes. A Basic Input Output System
|
|
(BIOS) was originally a set of low-level functions contained in the read-only
|
|
memory of a computer's mainboard, enabling it to perform basic operations when
|
|
powered up. However, the definition of a BIOS has evolved to include what used
|
|
to be known as Power On Self Test (POST) for the presence of peripherals,
|
|
allocating resources for them to avoid conflicts, and then handing over to an
|
|
operating system boot loader. Nowadays, the bulk of the BIOS work is the
|
|
initialization and training of RAM. This means, for example, initializing the
|
|
memory controller and optimizing timing and read/write voltage for optimal
|
|
performance, making the code complex, as its role is to optimize several
|
|
parallel buses operating at high speeds and shared by many CPU cores, and make
|
|
them act as a homogeneous whole. \\
|
|
|
|
This documentation is the product of a project hosted by the \textit{LIP6 laboratory} and supported by the \textit{GNU Boot Project} and the \textit{Free Software Foundation}, delves into the importance of firmware in the hardware initialization of modern computers.
|
|
It explores various aspects of firmware, such as Intel Management
|
|
Engine (ME), AMD Platform Security Processor (PSP), Advanced Configuration and
|
|
Power Interface (ACPI), and System Management Mode (SMM). Additionally, it
|
|
provides an in-depth look at memory initialization and training algorithms,
|
|
highlighting their critical role in system stability and performance. \\
|
|
|
|
Examples of the implementation in the Asus KGPE-D16 mainboard are presented, describing its hardware characteristics, topology, and the crucial role of firmware in its operation after the mainboard architecture is examined.
|
|
Practical examples illustrate the impact of firmware on hardware
|
|
initialization, memory optimization, resource allocation, power management,
|
|
and security. Specific algorithms used for memory training and their outcomes
|
|
are analyzed to demonstrate the complexity and importance of firmware in
|
|
achieving optimal system performance. \\
|
|
|
|
Furthermore, the article explores the relationship between firmware and
|
|
hardware virtualization, discussing how modern firmware supports and enhances
|
|
virtualized environments. Security considerations and future trends in
|
|
firmware development are also addressed, emphasizing the need for continued
|
|
research and advocacy for free software-compatible hardware. The article
|
|
concludes with a call to action, urging the development of libre
|
|
firmware solutions to ensure greater control and security in computing.
|
|
|
|
\chapter{Introduction to firmware and BIOS evolution}
|
|
|
|
\section{Historical context of BIOS}
|
|
|
|
\subsection{Definition and origin}
|
|
|
|
The BIOS (Basic Input/Output System) is firmware used to perform hardware
|
|
initialization during the booting process and to provide runtime services
|
|
for operating systems and programs. Being a critical component for the
|
|
startup of personal computers, acting as an intermediary between the
|
|
computer's hardware and its operating system, the BIOS is embedded on a
|
|
chip on the motherboard and is the first code that runs when a PC is
|
|
powered on. The concept of BIOS has its roots in the early days of personal
|
|
computing. It was first developed by IBM for their IBM PC, which was
|
|
introduced in 1981. The term BIOS itself was coined by Gary Kildall, who
|
|
developed the CP/M (Control Program for Microcomputers) operating system.
|
|
In CP/M, BIOS was used to describe a component that interfaced directly
|
|
with the hardware, allowing the operating system to be somewhat
|
|
hardware-independent. \newline
|
|
|
|
IBM's implementation of BIOS became a de facto standard in the industry,
|
|
as it was part of the IBM PC's open architecture, which refers to the
|
|
design philosophy adopted by IBM when developing the IBM Personal Computer
|
|
(PC), introduced in 1981. This architecture is characterized by the use of
|
|
off-the-shelf components and publicly available specifications, which
|
|
allowed other manufacturers to create compatible hardware and software.
|
|
It was in fact a departure from the proprietary systems prevalent at
|
|
the time, where companies closely guarded their designs to maintain
|
|
control over the hardware and software ecosystem.
|
|
For example, IBM used the Intel 8088 CPU, a well-documented and widely
|
|
available processor, and also the Industry Standard Architecture (ISA) bus,
|
|
which defined how various components like memory, storage, and peripherals
|
|
communicated with the CPU. This open architecture allowed other
|
|
manufacturers to create IBM-compatible computers, also known as "clones",
|
|
which further popularized the BIOS concept. As a result, the IBM PC BIOS
|
|
set the stage for a standardized method of interacting with computer
|
|
hardware, which has evolved over the years but remains fundamentally the
|
|
same in principle. IBM also published detailed technical documentation at
|
|
that time, including circuit diagrams, BIOS listings, and interface
|
|
specifications. This transparency allowed other companies to understand and
|
|
replicate the IBM PC's functionality.
|
|
|
|
\subsection{Functionalities and limitations}
|
|
|
|
The Basic Input/Output System (BIOS) is a foundational firmware component
|
|
in early personal computers, responsible for initializing hardware and
|
|
booting the operating system. Developed as part of IBM's original PC
|
|
design, the BIOS provided essential functionalities. \newline
|
|
|
|
When a computer is powered on, the BIOS executes a Power-On Self-Test
|
|
(POST), a diagnostic sequence that verifies the integrity and functionality
|
|
of critical hardware components such as the CPU, RAM, disk drives,
|
|
keyboard, and other peripherals. This process ensures that all essential
|
|
hardware components are operational before the system attempts to load the
|
|
operating system. If any issues are detected, the BIOS generates error
|
|
messages or beep codes to alert the user.
|
|
Following the successful completion of POST, the BIOS runs the bootstrap
|
|
loader, a small program that identifies the operating system's bootloader
|
|
on a storage device, such as a hard drive, floppy disk, or optical drive.
|
|
The bootstrap loader then transfers control to the OS bootloader,
|
|
initiating the process of loading the operating system into the computer's
|
|
memory and starting it. This step effectively bridges the gap between
|
|
hardware initialization and operating system execution.
|
|
The BIOS also provides a set of low-level software routines known as
|
|
interrupts. These routines enable software to perform basic input/output
|
|
operations, such as reading from the keyboard, writing to the display, and
|
|
accessing disk drives, without needing to manage the hardware directly. By
|
|
providing standardized interfaces for hardware components, the BIOS
|
|
simplifies software development and improves compatibility across different
|
|
hardware configurations. \newline
|
|
|
|
Despite its essential role, the early BIOS had several limitations.
|
|
One significant limitation was its limited storage capacity.
|
|
Early BIOS firmware was stored in Read-Only Memory (ROM) chips with very
|
|
limited storage, often just a few kilobytes. This constrained the
|
|
complexity and functionality of the BIOS, limiting it to only the most
|
|
essential tasks needed to start the system and provide basic hardware
|
|
control. The original BIOS was also non-extensible. ROM chips were
|
|
typically soldered onto the motherboard, making updates difficult and
|
|
costly. Bug fixes, updates for new hardware support, or enhancements
|
|
required replacing the ROM chip, leading to challenges in maintaining and
|
|
upgrading systems. Furthermore, the early BIOS was tailored for the
|
|
specific hardware configurations of the initial IBM PC models, which
|
|
included a limited set of peripherals and expansion options. As new
|
|
hardware components and peripherals were developed, the BIOS often needed
|
|
to be updated to support them, which was not always feasible or timely.
|
|
Performance bottlenecks were another limitation. The BIOS provided basic
|
|
input/output operations that were often slower than direct hardware access
|
|
methods. For example, disk I/O operations through BIOS interrupts were
|
|
slower compared to later direct access methods provided by operating
|
|
systems, resulting in performance bottlenecks, especially for
|
|
disk-intensive operations. This inflexibility restricts the ability to
|
|
support new hardware and technologies efficiently.
|
|
Early BIOS implementations also had minimal security features. There were
|
|
no mechanisms to verify the integrity of the BIOS code or to protect
|
|
against unauthorized modifications, leaving systems vulnerable to attacks
|
|
that could alter the BIOS and potentially compromise the entire system,
|
|
such as rootkits and firmware viruses.
|
|
|
|
Added to that, the traditional BIOS operates in 16-bit real mode, a
|
|
constraint that limits the amount of code and memory it can address. This
|
|
limitation hinders the performance and complexity of firmware, making
|
|
it less suitable for modern computing needs \cite{intel_uefi}.
|
|
Additionally, BIOS relies on the Master Boot Record (MBR) partitioning
|
|
scheme, which supports a maximum disk size of 2 terabytes and allows only
|
|
four primary partitions \cite{uefi_spec}\cite{russinovich2012}.
|
|
This constraint has become a
|
|
significant drawback as storage capacities have increased.
|
|
Furthermore, the traditional BIOS has limited flexibility and is
|
|
challenging to update or extend. This inflexibility restricts the ability
|
|
to support new hardware and technologies efficiently
|
|
\cite{smith_2017}\cite{acmcs2015}.
|
|
|
|
\section{Modern BIOS and UEFI}
|
|
|
|
\subsection{Transition from traditional BIOS to UEFI (Unified Extensible Firmware Interface)}
|
|
|
|
All the limitations listed earlier have necessitated a transition to a more
|
|
modern firmware interface, designed to address the shortcomings of the
|
|
traditional BIOS. This section delves into the historical context of this
|
|
shift, the driving factors behind it, and the advantages UEFI offers over
|
|
the traditional BIOS.
|
|
|
|
The development of UEFI began in the mid-1990s as part of the Intel Boot
|
|
Initiative, which aimed to modernize the boot process and overcome the
|
|
limitations of the traditional BIOS. By 2005, the Unified EFI Forum, a
|
|
consortium of technology companies including Intel, AMD, and Microsoft,
|
|
had formalized the UEFI specification \cite{uefi_spec}. UEFI was designed
|
|
to address the shortcomings of the traditional BIOS, providing several key
|
|
improvements. \newline
|
|
|
|
One of the most significant advancements of UEFI is its support for 32-bit
|
|
and 64-bit modes, allowing it to address more memory and run more complex
|
|
firmware programs. This capability enables UEFI to handle the increased
|
|
demands of modern hardware and software \cite{intel_uefi}\cite{shin2011}.
|
|
Additionally, UEFI uses the GUID Partition Table (GPT) instead of the MBR,
|
|
supporting disks larger than 2 terabytes and allowing for a nearly
|
|
unlimited number of partitions
|
|
\cite{microsoft_uefi}\cite{russinovich2012}.
|
|
Improved boot performance is another driving factor. UEFI provides faster
|
|
boot times compared to the traditional BIOS, thanks to its efficient
|
|
hardware and software initialization processes. This improvement is
|
|
particularly beneficial for systems with complex hardware configurations,
|
|
where quick boot times are essential \cite{intel_uefi}.
|
|
UEFI's modular architecture makes it more extensible and easier to update
|
|
compared to the traditional BIOS. This design allows for the addition of
|
|
drivers, applications, and other components without requiring a complete
|
|
firmware overhaul, providing greater flexibility and adaptability to new
|
|
technologies \cite{smith_2017}\cite{acmcs2015}. UEFI also includes enhanced
|
|
security features such as \textit{Secure Boot}, which ensures that only
|
|
trusted software can be executed during the boot process, thereby
|
|
protecting the system from unauthorized modifications and malware
|
|
\cite{anderson_2018}\cite{chang2013}. \newline
|
|
|
|
The industry-wide support and standardization of UEFI have accelerated its
|
|
adoption across various platforms and devices. Major industry players,
|
|
including Intel, AMD, and Microsoft, have adopted UEFI as the new standard
|
|
for firmware interfaces, ensuring broad compatibility and interoperability
|
|
\cite{uefi_spec}.
|
|
|
|
\subsection{An other way with coreboot}
|
|
|
|
While UEFI has become the dominant firmware interface for modern computing
|
|
systems, it is not without its critics. Some of the primary concerns about
|
|
UEFI include its complexity, potential security vulnerabilities, and the
|
|
degree of control it provides to hardware manufacturers over the boot
|
|
process. As an alternative to UEFI, coreboot offers a different approach to
|
|
firmware that aims to address some of these concerns and continue the
|
|
evolution of BIOS.
|
|
\textit{coreboot}, originally known as LinuxBIOS, is a free firmware
|
|
project
|
|
initiated in 1999 by Ron Minnich and his team at the Los Alamos National
|
|
Laboratory. The project's primary goal was to create a fast, lightweight,
|
|
and flexible firmware solution that could initialize hardware and boot
|
|
operating systems quickly, while remaining transparent and
|
|
auditable\cite{coreboot}. \newline
|
|
|
|
One of the main advantages of \textit{coreboot} over UEFI is its
|
|
simplicity.
|
|
\textit{coreboot} is designed to perform only the minimal tasks required to
|
|
initialize hardware and pass control to a payload, such as a bootloader or
|
|
operating system kernel. This minimalist approach reduces the attack
|
|
surface and potential for security vulnerabilities, as there is less code
|
|
that could be exploited by malicious actors \cite{rudolph2007}.
|
|
Another significant benefit of \textit{coreboot} is its libre nature.
|
|
Unlike
|
|
UEFI, which is controlled by a consortium of hardware and software vendors,
|
|
\textit{coreboot}'s source code is freely available and can be audited,
|
|
modified,
|
|
and improved by anyone. This transparency ensures that security researchers
|
|
and developers can review the code for potential vulnerabilities and
|
|
contribute to its improvement, fostering a community-driven approach to
|
|
firmware development\cite{coreboot}.
|
|
\textit{coreboot} also supports a wide range of payloads, allowing users to
|
|
customize their boot process to suit their specific needs. Popular payloads
|
|
include SeaBIOS, which provides legacy BIOS compatibility, and Tianocore,
|
|
which offers UEFI functionality within the \textit{coreboot} framework.
|
|
This
|
|
flexibility allows \textit{coreboot} to be used in a variety of
|
|
environments, from
|
|
embedded systems to high-performance servers\cite{coreboot_payloads}.
|
|
\newline
|
|
|
|
Despite its advantages, \textit{coreboot} is not without its challenges.
|
|
The project
|
|
relies heavily on community contributions, and support for new hardware
|
|
often lags behind that of UEFI. Additionally, the minimalist design of
|
|
\textit{coreboot} means that some advanced features provided by UEFI, such
|
|
as Secure
|
|
Boot, are not available by default. However, the \textit{coreboot}
|
|
community
|
|
continues to work on adding new features and improving compatibility with
|
|
modern hardware\cite{coreboot_challenges}.
|
|
However, it's important to note that \textit{coreboot} is not entirely free
|
|
in all
|
|
aspects. Many modern processors and chipsets require proprietary binary
|
|
blobs for certain functionalities, such as memory initialization and
|
|
hardware management. These blobs are necessary for \textit{coreboot} to
|
|
function
|
|
correctly on a wide range of hardware, but they compromise the goal of
|
|
having a fully free firmware one day\cite{blobs}.
|
|
To address these concerns, the GNU Project has developed GNU Boot, a
|
|
fully free distribution of firmware, including \textit{coreboot}, that aims
|
|
to be
|
|
entirely free by avoiding the use of proprietary binary blobs. GNU Boot is
|
|
committed to using only free software for all aspects of firmware, making
|
|
it a preferred choice for users and organizations that prioritize software
|
|
freedom and transparency\cite{gnuboot}.
|
|
|
|
\section{Shift in firmware responsibilities}
|
|
|
|
Initially, we saw that the BIOS's primary function was to perform the
|
|
Power-On Self-Test (POST), a basic diagnostic testing process to check the
|
|
system's hardware components and ensure they were functioning correctly.
|
|
This included verifying the CPU, memory, and essential peripherals before
|
|
passing control to the operating system's bootloader. This process was
|
|
relatively simple, given the limited capabilities and straightforward
|
|
architecture of early computer systems\cite{smith_2017}. As computer
|
|
systems advanced, particularly with the advent of more sophisticated memory
|
|
technologies, the role of the BIOS expanded significantly. An example is
|
|
that modern memory modules operate at much higher speeds and capacities
|
|
than their predecessors, requiring precise configuration to ensure
|
|
stability and optimal performance.
|
|
We'll see in following sections how memory is taken care by firmware,
|
|
since the memory controller, a critical component in modern computer
|
|
systems, manages the data flow between the processor and memory modules.
|
|
Firmware then plays a crucial role in configuring this controller
|
|
during the boot process. This configuration includes setting memory
|
|
frequencies, voltage levels, and timing parameters to match the
|
|
specifications of the installed memory\cite{uefi_spec}.
|
|
The enhanced role of firmware in memory training and optimization directly
|
|
impacts system performance and stability. For example, overclocking
|
|
involves configuring the system to run at higher speeds than
|
|
manufacturer-specified limits. Firmware plays a key role in enabling
|
|
and managing overclocking, particularly for the memory subsystem. By
|
|
allowing adjustments to memory frequencies, voltages, and timings, it
|
|
provides tools for performance tuning while including safeguards to manage
|
|
the risks of instability and hardware damage \cite{anderson_2018}.
|
|
|
|
\chapter{Characteristics of Asus KGPE-D16 Mainboard}
|
|
|
|
\section{Overview of Asus KGPE-D16 Hardware}
|
|
\begin{itemize}
|
|
\item Description of the mainboard's hardware components
|
|
\begin{itemize}
|
|
\item CPU: Support for AMD Opteron 6000 series processors
|
|
\item RAM: 16 DDR3 DIMM slots supporting up to 256GB of memory
|
|
\item Expansion Slots: Multiple PCIe slots for expandability
|
|
\item Storage: SATA ports and potential for RAID configurations
|
|
\item Networking: Integrated dual gigabit Ethernet ports
|
|
\item Other Peripherals: USB ports, audio outputs, and additional I/O ports
|
|
\end{itemize}
|
|
\item Topology and Layout
|
|
\begin{itemize}
|
|
\item Physical layout of the mainboard
|
|
\item Placement of key components and their interactions
|
|
\item Cooling and power distribution
|
|
\end{itemize}
|
|
\end{itemize}
|
|
|
|
\section{Firmware's Role in Asus KGPE-D16}
|
|
\begin{itemize}
|
|
\item Initial hardware setup
|
|
\item Memory training and optimization
|
|
\item Resource allocation and conflict resolution
|
|
\item Power management and efficiency
|
|
\item Security features and updates
|
|
\end{itemize}
|
|
|
|
\chapter{Key Components in Modern Firmware}
|
|
|
|
\section{Advanced Configuration and Power Interface (ACPI)}
|
|
\begin{itemize}
|
|
\item Detailed explanation of ACPI
|
|
\item Role in power management and system configuration
|
|
\item Implementation in modern operating systems
|
|
\item \textbf{Asus KGPE-D16 Example}: ACPI utilization in power management and device configuration on the mainboard
|
|
\end{itemize}
|
|
|
|
\section{System Management Mode (SMM)}
|
|
\begin{itemize}
|
|
\item Definition and significance
|
|
\item How SMM enhances system security
|
|
\item Examples of SMM applications in real-world systems
|
|
\item \textbf{Asus KGPE-D16 Example}: SMM features and their impact on system security and functionality in the KGPE-D16
|
|
\end{itemize}
|
|
|
|
\section{AMD Platform Security Processor (PSP) and Intel Management Engine (ME)}
|
|
\begin{itemize}
|
|
\item Overview and purpose
|
|
\item Security implications, concerns and controversies
|
|
\item Interaction with system firmware
|
|
\item Differences between Intel ME and AMD PSP
|
|
\end{itemize}
|
|
|
|
\chapter{Memory Initialization and Training Algorithms}
|
|
|
|
\section{Importance of Memory Initialization}
|
|
\begin{itemize}
|
|
\item Steps involved in initializing the memory controller
|
|
\item Critical role in system stability and performance
|
|
\item \textbf{Asus KGPE-D16 Example}: Memory initialization process on the KGPE-D16 mainboard
|
|
\end{itemize}
|
|
|
|
Memory training involves several steps:
|
|
1. **Detection and Initialization**: The BIOS detects the installed memory
|
|
modules, determining their size, speed, and type.
|
|
2. **Configuration and Timing Setup**: The BIOS configures the memory
|
|
controller settings, including timings for memory access such as CAS
|
|
latency, RAS to CAS delay, and other parameters \cite{intel_uefi}.
|
|
3. **Training and Calibration**: The BIOS performs tests and adjustments to
|
|
calibrate the memory system, ensuring stable operation at optimal speeds by
|
|
adjusting signal voltages and testing data integrity \cite{wolf2006}.
|
|
|
|
These steps are crucial for modern systems, where improper memory
|
|
configuration can lead to instability, data corruption, or suboptimal
|
|
performance.
|
|
|
|
Memory timings, such as CAS latency, RAS to CAS delay, and others, must be
|
|
finely tuned to ensure optimal performance. The BIOS uses a combination of
|
|
predefined profiles and dynamic adjustments to achieve the best balance
|
|
between speed and stability. Advanced timing optimization involves setting
|
|
these parameters to ensure that memory operations are performed with
|
|
minimal latency and maximum throughput \cite{russinovich2012}.
|
|
|
|
|
|
\section{Memory Training Algorithms}
|
|
\begin{itemize}
|
|
\item Techniques used for training memory
|
|
\item Optimization of timings and voltage settings
|
|
\item Challenges in multi-core CPU environments
|
|
\item \textbf{Asus KGPE-D16 Example}: Specific algorithms used for memory training in the mainboard and their performance outcomes
|
|
\end{itemize}
|
|
|
|
To optimize memory performance, the BIOS employs various training
|
|
algorithms and calibration techniques. These methods test the memory under
|
|
different conditions and make necessary adjustments to improve stability
|
|
and efficiency. Key techniques include voltage adjustments, data integrity
|
|
testing, and signal timing calibration \cite{shin2011}.
|
|
|
|
Voltage adjustments involve tweaking the power supplied to the memory
|
|
modules to ensure reliable operation. Data integrity testing checks that
|
|
data can be accurately read and written, while signal timing calibration
|
|
fine-tunes the delays between different memory operations to minimize
|
|
latency.
|
|
|
|
\section{Practical Examples}
|
|
\begin{itemize}
|
|
\item Real-world scenarios where firmware played a crucial role in system performance
|
|
\item Analysis of firmware updates and their impact on the KGPE-D16 mainboard
|
|
\item User experiences and testimonials highlighting the importance of firmware
|
|
\item \textbf{Asus KGPE-D16 Example}: Specific case studies and firmware updates for the mainboard
|
|
\end{itemize}
|
|
|
|
\chapter{Firmware and Hardware Virtualization}
|
|
|
|
\section{Introduction to Hardware Virtualization}
|
|
\begin{itemize}
|
|
\item Definition and purpose of virtualization
|
|
\item How firmware interacts with virtualized environments
|
|
\item \textbf{Asus KGPE-D16 Example}: Virtualization capabilities and performance on the mainboard
|
|
\end{itemize}
|
|
|
|
\section{Role of BIOS/UEFI in Virtualization}
|
|
\begin{itemize}
|
|
\item Initialization and configuration for virtual machines
|
|
\item Resource allocation and management
|
|
\item \textbf{Asus KGPE-D16 Example}: BIOS/UEFI settings and their impact on virtualization efficiency on the KGPE-D16
|
|
\end{itemize}
|
|
|
|
\section{Security and freedom considerations}
|
|
\begin{itemize}
|
|
\item Security risks associated with virtualization
|
|
\item Measures taken by firmware to mitigate risks
|
|
\item \textbf{Asus KGPE-D16 Example}: Security measures implemented in the mainboard's firmware to support secure virtualization
|
|
\end{itemize}
|
|
|
|
\section{Future Trends in Firmware and Virtualization}
|
|
\begin{itemize}
|
|
\item Emerging advancements and their impact on firmware
|
|
\item Predictions for the evolution of BIOS/UEFI in virtualization
|
|
\item \textbf{Asus KGPE-D16 Example}: Potential future firmware updates and their expected impact on the mainboard's virtualization capabilities
|
|
\end{itemize}
|
|
|
|
\chapter*{Conclusion}
|
|
\addcontentsline{toc}{chapter}{Conclusion}
|
|
|
|
\section{Summary of Key Points}
|
|
\begin{itemize}
|
|
\item Recap of the evolution and current state of firmware
|
|
\item Importance of understanding modern BIOS functionalities
|
|
\item \textbf{Asus KGPE-D16 Example}: Summary of the mainboard's features and firmware contributions
|
|
\end{itemize}
|
|
|
|
\section{Call for Action}
|
|
\begin{itemize}
|
|
\item Advocacy for free software-compatible hardware
|
|
\item Encouraging research and development in libre firmware solutions
|
|
\end{itemize}
|
|
|
|
\newpage
|
|
|
|
% Bibliography
|
|
\nocite{*}
|
|
\addcontentsline{toc}{chapter}{Bibliography}
|
|
\printbibliography
|
|
|
|
\newpage
|
|
|
|
\chapter*{\rlap{GNU Free Documentation License}}
|
|
\addcontentsline{toc}{chapter}{GNU Free Documentation License}
|
|
\begin{center}
|
|
|
|
Version 1.3, 3 November 2008
|
|
|
|
|
|
Copyright \copyright{} 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
|
|
|
|
\bigskip
|
|
|
|
\texttt{<https://fsf.org/>}
|
|
|
|
\bigskip
|
|
|
|
Everyone is permitted to copy and distribute verbatim copies
|
|
of this license document, but changing it is not allowed.
|
|
\end{center}
|
|
|
|
|
|
\begin{center}
|
|
{\bf\large Preamble}
|
|
\end{center}
|
|
|
|
The purpose of this License is to make a manual, textbook, or other
|
|
functional and useful document ``free'' in the sense of freedom: to
|
|
assure everyone the effective freedom to copy and redistribute it,
|
|
with or without modifying it, either commercially or noncommercially.
|
|
Secondarily, this License preserves for the author and publisher a way
|
|
to get credit for their work, while not being considered responsible
|
|
for modifications made by others.
|
|
|
|
This License is a kind of ``copyleft'', which means that derivative
|
|
works of the document must themselves be free in the same sense. It
|
|
complements the GNU General Public License, which is a copyleft
|
|
license designed for free software.
|
|
|
|
We have designed this License in order to use it for manuals for free
|
|
software, because free software needs free documentation: a free
|
|
program should come with manuals providing the same freedoms that the
|
|
software does. But this License is not limited to software manuals;
|
|
it can be used for any textual work, regardless of subject matter or
|
|
whether it is published as a printed book. We recommend this License
|
|
principally for works whose purpose is instruction or reference.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 1. APPLICABILITY AND DEFINITIONS\par}
|
|
\end{center}
|
|
|
|
This License applies to any manual or other work, in any medium, that
|
|
contains a notice placed by the copyright holder saying it can be
|
|
distributed under the terms of this License. Such a notice grants a
|
|
world-wide, royalty-free license, unlimited in duration, to use that
|
|
work under the conditions stated herein. The ``\textbf{Document}'', below,
|
|
refers to any such manual or work. Any member of the public is a
|
|
licensee, and is addressed as ``\textbf{you}''. You accept the license if you
|
|
copy, modify or distribute the work in a way requiring permission
|
|
under copyright law.
|
|
|
|
A ``\textbf{Modified Version}'' of the Document means any work containing the
|
|
Document or a portion of it, either copied verbatim, or with
|
|
modifications and/or translated into another language.
|
|
|
|
A ``\textbf{Secondary Section}'' is a named appendix or a front-matter section of
|
|
the Document that deals exclusively with the relationship of the
|
|
publishers or authors of the Document to the Document's overall subject
|
|
(or to related matters) and contains nothing that could fall directly
|
|
within that overall subject. (Thus, if the Document is in part a
|
|
textbook of mathematics, a Secondary Section may not explain any
|
|
mathematics.) The relationship could be a matter of historical
|
|
connection with the subject or with related matters, or of legal,
|
|
commercial, philosophical, ethical or political position regarding
|
|
them.
|
|
|
|
The ``\textbf{Invariant Sections}'' are certain Secondary Sections whose titles
|
|
are designated, as being those of Invariant Sections, in the notice
|
|
that says that the Document is released under this License. If a
|
|
section does not fit the above definition of Secondary then it is not
|
|
allowed to be designated as Invariant. The Document may contain zero
|
|
Invariant Sections. If the Document does not identify any Invariant
|
|
Sections then there are none.
|
|
|
|
The ``\textbf{Cover Texts}'' are certain short passages of text that are listed,
|
|
as Front-Cover Texts or Back-Cover Texts, in the notice that says that
|
|
the Document is released under this License. A Front-Cover Text may
|
|
be at most 5 words, and a Back-Cover Text may be at most 25 words.
|
|
|
|
A ``\textbf{Transparent}'' copy of the Document means a machine-readable copy,
|
|
represented in a format whose specification is available to the
|
|
general public, that is suitable for revising the document
|
|
straightforwardly with generic text editors or (for images composed of
|
|
pixels) generic paint programs or (for drawings) some widely available
|
|
drawing editor, and that is suitable for input to text formatters or
|
|
for automatic translation to a variety of formats suitable for input
|
|
to text formatters. A copy made in an otherwise Transparent file
|
|
format whose markup, or absence of markup, has been arranged to thwart
|
|
or discourage subsequent modification by readers is not Transparent.
|
|
An image format is not Transparent if used for any substantial amount
|
|
of text. A copy that is not ``Transparent'' is called ``\textbf{Opaque}''.
|
|
|
|
Examples of suitable formats for Transparent copies include plain
|
|
ASCII without markup, Texinfo input format, LaTeX input format, SGML
|
|
or XML using a publicly available DTD, and standard-conforming simple
|
|
HTML, PostScript or PDF designed for human modification. Examples of
|
|
transparent image formats include PNG, XCF and JPG. Opaque formats
|
|
include proprietary formats that can be read and edited only by
|
|
proprietary word processors, SGML or XML for which the DTD and/or
|
|
processing tools are not generally available, and the
|
|
machine-generated HTML, PostScript or PDF produced by some word
|
|
processors for output purposes only.
|
|
|
|
The ``\textbf{Title Page}'' means, for a printed book, the title page itself,
|
|
plus such following pages as are needed to hold, legibly, the material
|
|
this License requires to appear in the title page. For works in
|
|
formats which do not have any title page as such, ``Title Page'' means
|
|
the text near the most prominent appearance of the work's title,
|
|
preceding the beginning of the body of the text.
|
|
|
|
The ``\textbf{publisher}'' means any person or entity that distributes
|
|
copies of the Document to the public.
|
|
|
|
A section ``\textbf{Entitled XYZ}'' means a named subunit of the Document whose
|
|
title either is precisely XYZ or contains XYZ in parentheses following
|
|
text that translates XYZ in another language. (Here XYZ stands for a
|
|
specific section name mentioned below, such as ``\textbf{Acknowledgements}'',
|
|
``\textbf{Dedications}'', ``\textbf{Endorsements}'', or ``\textbf{History}''.)
|
|
To ``\textbf{Preserve the Title}''
|
|
of such a section when you modify the Document means that it remains a
|
|
section ``Entitled XYZ'' according to this definition.
|
|
|
|
The Document may include Warranty Disclaimers next to the notice which
|
|
states that this License applies to the Document. These Warranty
|
|
Disclaimers are considered to be included by reference in this
|
|
License, but only as regards disclaiming warranties: any other
|
|
implication that these Warranty Disclaimers may have is void and has
|
|
no effect on the meaning of this License.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 2. VERBATIM COPYING\par}
|
|
\end{center}
|
|
|
|
You may copy and distribute the Document in any medium, either
|
|
commercially or noncommercially, provided that this License, the
|
|
copyright notices, and the license notice saying this License applies
|
|
to the Document are reproduced in all copies, and that you add no other
|
|
conditions whatsoever to those of this License. You may not use
|
|
technical measures to obstruct or control the reading or further
|
|
copying of the copies you make or distribute. However, you may accept
|
|
compensation in exchange for copies. If you distribute a large enough
|
|
number of copies you must also follow the conditions in section~3.
|
|
|
|
You may also lend copies, under the same conditions stated above, and
|
|
you may publicly display copies.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 3. COPYING IN QUANTITY\par}
|
|
\end{center}
|
|
|
|
|
|
If you publish printed copies (or copies in media that commonly have
|
|
printed covers) of the Document, numbering more than 100, and the
|
|
Document's license notice requires Cover Texts, you must enclose the
|
|
copies in covers that carry, clearly and legibly, all these Cover
|
|
Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on
|
|
the back cover. Both covers must also clearly and legibly identify
|
|
you as the publisher of these copies. The front cover must present
|
|
the full title with all words of the title equally prominent and
|
|
visible. You may add other material on the covers in addition.
|
|
Copying with changes limited to the covers, as long as they preserve
|
|
the title of the Document and satisfy these conditions, can be treated
|
|
as verbatim copying in other respects.
|
|
|
|
If the required texts for either cover are too voluminous to fit
|
|
legibly, you should put the first ones listed (as many as fit
|
|
reasonably) on the actual cover, and continue the rest onto adjacent
|
|
pages.
|
|
|
|
If you publish or distribute Opaque copies of the Document numbering
|
|
more than 100, you must either include a machine-readable Transparent
|
|
copy along with each Opaque copy, or state in or with each Opaque copy
|
|
a computer-network location from which the general network-using
|
|
public has access to download using public-standard network protocols
|
|
a complete Transparent copy of the Document, free of added material.
|
|
If you use the latter option, you must take reasonably prudent steps,
|
|
when you begin distribution of Opaque copies in quantity, to ensure
|
|
that this Transparent copy will remain thus accessible at the stated
|
|
location until at least one year after the last time you distribute an
|
|
Opaque copy (directly or through your agents or retailers) of that
|
|
edition to the public.
|
|
|
|
It is requested, but not required, that you contact the authors of the
|
|
Document well before redistributing any large number of copies, to give
|
|
them a chance to provide you with an updated version of the Document.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 4. MODIFICATIONS\par}
|
|
\end{center}
|
|
|
|
You may copy and distribute a Modified Version of the Document under
|
|
the conditions of sections 2 and 3 above, provided that you release
|
|
the Modified Version under precisely this License, with the Modified
|
|
Version filling the role of the Document, thus licensing distribution
|
|
and modification of the Modified Version to whoever possesses a copy
|
|
of it. In addition, you must do these things in the Modified Version:
|
|
|
|
\begin{itemize}
|
|
\item[A.]
|
|
Use in the Title Page (and on the covers, if any) a title distinct
|
|
from that of the Document, and from those of previous versions
|
|
(which should, if there were any, be listed in the History section
|
|
of the Document). You may use the same title as a previous version
|
|
if the original publisher of that version gives permission.
|
|
|
|
\item[B.]
|
|
List on the Title Page, as authors, one or more persons or entities
|
|
responsible for authorship of the modifications in the Modified
|
|
Version, together with at least five of the principal authors of the
|
|
Document (all of its principal authors, if it has fewer than five),
|
|
unless they release you from this requirement.
|
|
|
|
\item[C.]
|
|
State on the Title page the name of the publisher of the
|
|
Modified Version, as the publisher.
|
|
|
|
\item[D.]
|
|
Preserve all the copyright notices of the Document.
|
|
|
|
\item[E.]
|
|
Add an appropriate copyright notice for your modifications
|
|
adjacent to the other copyright notices.
|
|
|
|
\item[F.]
|
|
Include, immediately after the copyright notices, a license notice
|
|
giving the public permission to use the Modified Version under the
|
|
terms of this License, in the form shown in the Addendum below.
|
|
|
|
\item[G.]
|
|
Preserve in that license notice the full lists of Invariant Sections
|
|
and required Cover Texts given in the Document's license notice.
|
|
|
|
\item[H.]
|
|
Include an unaltered copy of this License.
|
|
|
|
\item[I.]
|
|
Preserve the section Entitled ``History'', Preserve its Title, and add
|
|
to it an item stating at least the title, year, new authors, and
|
|
publisher of the Modified Version as given on the Title Page. If
|
|
there is no section Entitled ``History'' in the Document, create one
|
|
stating the title, year, authors, and publisher of the Document as
|
|
given on its Title Page, then add an item describing the Modified
|
|
Version as stated in the previous sentence.
|
|
|
|
\item[J.]
|
|
Preserve the network location, if any, given in the Document for
|
|
public access to a Transparent copy of the Document, and likewise
|
|
the network locations given in the Document for previous versions
|
|
it was based on. These may be placed in the ``History'' section.
|
|
You may omit a network location for a work that was published at
|
|
least four years before the Document itself, or if the original
|
|
publisher of the version it refers to gives permission.
|
|
|
|
\item[K.]
|
|
For any section Entitled ``Acknowledgements'' or ``Dedications'',
|
|
Preserve the Title of the section, and preserve in the section all
|
|
the substance and tone of each of the contributor acknowledgements
|
|
and/or dedications given therein.
|
|
|
|
\item[L.]
|
|
Preserve all the Invariant Sections of the Document,
|
|
unaltered in their text and in their titles. Section numbers
|
|
or the equivalent are not considered part of the section titles.
|
|
|
|
\item[M.]
|
|
Delete any section Entitled ``Endorsements''. Such a section
|
|
may not be included in the Modified Version.
|
|
|
|
\item[N.]
|
|
Do not retitle any existing section to be Entitled ``Endorsements''
|
|
or to conflict in title with any Invariant Section.
|
|
|
|
\item[O.]
|
|
Preserve any Warranty Disclaimers.
|
|
\end{itemize}
|
|
|
|
If the Modified Version includes new front-matter sections or
|
|
appendices that qualify as Secondary Sections and contain no material
|
|
copied from the Document, you may at your option designate some or all
|
|
of these sections as invariant. To do this, add their titles to the
|
|
list of Invariant Sections in the Modified Version's license notice.
|
|
These titles must be distinct from any other section titles.
|
|
|
|
You may add a section Entitled ``Endorsements'', provided it contains
|
|
nothing but endorsements of your Modified Version by various
|
|
parties---for example, statements of peer review or that the text has
|
|
been approved by an organization as the authoritative definition of a
|
|
standard.
|
|
|
|
You may add a passage of up to five words as a Front-Cover Text, and a
|
|
passage of up to 25 words as a Back-Cover Text, to the end of the list
|
|
of Cover Texts in the Modified Version. Only one passage of
|
|
Front-Cover Text and one of Back-Cover Text may be added by (or
|
|
through arrangements made by) any one entity. If the Document already
|
|
includes a cover text for the same cover, previously added by you or
|
|
by arrangement made by the same entity you are acting on behalf of,
|
|
you may not add another; but you may replace the old one, on explicit
|
|
permission from the previous publisher that added the old one.
|
|
|
|
The author(s) and publisher(s) of the Document do not by this License
|
|
give permission to use their names for publicity for or to assert or
|
|
imply endorsement of any Modified Version.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 5. COMBINING DOCUMENTS\par}
|
|
\end{center}
|
|
|
|
|
|
You may combine the Document with other documents released under this
|
|
License, under the terms defined in section~4 above for modified
|
|
versions, provided that you include in the combination all of the
|
|
Invariant Sections of all of the original documents, unmodified, and
|
|
list them all as Invariant Sections of your combined work in its
|
|
license notice, and that you preserve all their Warranty Disclaimers.
|
|
|
|
The combined work need only contain one copy of this License, and
|
|
multiple identical Invariant Sections may be replaced with a single
|
|
copy. If there are multiple Invariant Sections with the same name but
|
|
different contents, make the title of each such section unique by
|
|
adding at the end of it, in parentheses, the name of the original
|
|
author or publisher of that section if known, or else a unique number.
|
|
Make the same adjustment to the section titles in the list of
|
|
Invariant Sections in the license notice of the combined work.
|
|
|
|
In the combination, you must combine any sections Entitled ``History''
|
|
in the various original documents, forming one section Entitled
|
|
``History''; likewise combine any sections Entitled ``Acknowledgements'',
|
|
and any sections Entitled ``Dedications''. You must delete all sections
|
|
Entitled ``Endorsements''.
|
|
|
|
\begin{center}
|
|
{\Large\bf 6. COLLECTIONS OF DOCUMENTS\par}
|
|
\end{center}
|
|
|
|
You may make a collection consisting of the Document and other documents
|
|
released under this License, and replace the individual copies of this
|
|
License in the various documents with a single copy that is included in
|
|
the collection, provided that you follow the rules of this License for
|
|
verbatim copying of each of the documents in all other respects.
|
|
|
|
You may extract a single document from such a collection, and distribute
|
|
it individually under this License, provided you insert a copy of this
|
|
License into the extracted document, and follow this License in all
|
|
other respects regarding verbatim copying of that document.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 7. AGGREGATION WITH INDEPENDENT WORKS\par}
|
|
\end{center}
|
|
|
|
|
|
A compilation of the Document or its derivatives with other separate
|
|
and independent documents or works, in or on a volume of a storage or
|
|
distribution medium, is called an ``aggregate'' if the copyright
|
|
resulting from the compilation is not used to limit the legal rights
|
|
of the compilation's users beyond what the individual works permit.
|
|
When the Document is included in an aggregate, this License does not
|
|
apply to the other works in the aggregate which are not themselves
|
|
derivative works of the Document.
|
|
|
|
If the Cover Text requirement of section~3 is applicable to these
|
|
copies of the Document, then if the Document is less than one half of
|
|
the entire aggregate, the Document's Cover Texts may be placed on
|
|
covers that bracket the Document within the aggregate, or the
|
|
electronic equivalent of covers if the Document is in electronic form.
|
|
Otherwise they must appear on printed covers that bracket the whole
|
|
aggregate.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 8. TRANSLATION\par}
|
|
\end{center}
|
|
|
|
|
|
Translation is considered a kind of modification, so you may
|
|
distribute translations of the Document under the terms of section~4.
|
|
Replacing Invariant Sections with translations requires special
|
|
permission from their copyright holders, but you may include
|
|
translations of some or all Invariant Sections in addition to the
|
|
original versions of these Invariant Sections. You may include a
|
|
translation of this License, and all the license notices in the
|
|
Document, and any Warranty Disclaimers, provided that you also include
|
|
the original English version of this License and the original versions
|
|
of those notices and disclaimers. In case of a disagreement between
|
|
the translation and the original version of this License or a notice
|
|
or disclaimer, the original version will prevail.
|
|
|
|
If a section in the Document is Entitled ``Acknowledgements'',
|
|
``Dedications'', or ``History'', the requirement (section~4) to Preserve
|
|
its Title (section~1) will typically require changing the actual
|
|
title.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 9. TERMINATION\par}
|
|
\end{center}
|
|
|
|
|
|
You may not copy, modify, sublicense, or distribute the Document
|
|
except as expressly provided under this License. Any attempt
|
|
otherwise to copy, modify, sublicense, or distribute it is void, and
|
|
will automatically terminate your rights under this License.
|
|
|
|
However, if you cease all violation of this License, then your license
|
|
from a particular copyright holder is reinstated (a) provisionally,
|
|
unless and until the copyright holder explicitly and finally
|
|
terminates your license, and (b) permanently, if the copyright holder
|
|
fails to notify you of the violation by some reasonable means prior to
|
|
60 days after the cessation.
|
|
|
|
Moreover, your license from a particular copyright holder is
|
|
reinstated permanently if the copyright holder notifies you of the
|
|
violation by some reasonable means, this is the first time you have
|
|
received notice of violation of this License (for any work) from that
|
|
copyright holder, and you cure the violation prior to 30 days after
|
|
your receipt of the notice.
|
|
|
|
Termination of your rights under this section does not terminate the
|
|
licenses of parties who have received copies or rights from you under
|
|
this License. If your rights have been terminated and not permanently
|
|
reinstated, receipt of a copy of some or all of the same material does
|
|
not give you any rights to use it.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 10. FUTURE REVISIONS OF THIS LICENSE\par}
|
|
\end{center}
|
|
|
|
|
|
The Free Software Foundation may publish new, revised versions
|
|
of the GNU Free Documentation License from time to time. Such new
|
|
versions will be similar in spirit to the present version, but may
|
|
differ in detail to address new problems or concerns. See
|
|
\texttt{https://www.gnu.org/licenses/}.
|
|
|
|
Each version of the License is given a distinguishing version number.
|
|
If the Document specifies that a particular numbered version of this
|
|
License ``or any later version'' applies to it, you have the option of
|
|
following the terms and conditions either of that specified version or
|
|
of any later version that has been published (not as a draft) by the
|
|
Free Software Foundation. If the Document does not specify a version
|
|
number of this License, you may choose any version ever published (not
|
|
as a draft) by the Free Software Foundation. If the Document
|
|
specifies that a proxy can decide which future versions of this
|
|
License can be used, that proxy's public statement of acceptance of a
|
|
version permanently authorizes you to choose that version for the
|
|
Document.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf 11. RELICENSING\par}
|
|
\end{center}
|
|
|
|
|
|
``Massive Multiauthor Collaboration Site'' (or ``MMC Site'') means any
|
|
World Wide Web server that publishes copyrightable works and also
|
|
provides prominent facilities for anybody to edit those works. A
|
|
public wiki that anybody can edit is an example of such a server. A
|
|
``Massive Multiauthor Collaboration'' (or ``MMC'') contained in the
|
|
site means any set of copyrightable works thus published on the MMC
|
|
site.
|
|
|
|
``CC-BY-SA'' means the Creative Commons Attribution-Share Alike 3.0
|
|
license published by Creative Commons Corporation, a not-for-profit
|
|
corporation with a principal place of business in San Francisco,
|
|
California, as well as future copyleft versions of that license
|
|
published by that same organization.
|
|
|
|
``Incorporate'' means to publish or republish a Document, in whole or
|
|
in part, as part of another Document.
|
|
|
|
An MMC is ``eligible for relicensing'' if it is licensed under this
|
|
License, and if all works that were first published under this License
|
|
somewhere other than this MMC, and subsequently incorporated in whole
|
|
or in part into the MMC, (1) had no cover texts or invariant sections,
|
|
and (2) were thus incorporated prior to November 1, 2008.
|
|
|
|
The operator of an MMC Site may republish an MMC contained in the site
|
|
under CC-BY-SA on the same site at any time before August 1, 2009,
|
|
provided the MMC is eligible for relicensing.
|
|
|
|
|
|
\begin{center}
|
|
{\Large\bf ADDENDUM: How to use this License for your documents\par}
|
|
\end{center}
|
|
|
|
To use this License in a document you have written, include a copy of
|
|
the License in the document and put the following copyright and
|
|
license notices just after the title page:
|
|
|
|
\bigskip
|
|
\begin{quote}
|
|
Copyright \copyright{} YEAR YOUR NAME.
|
|
Permission is granted to copy, distribute and/or modify this document
|
|
under the terms of the GNU Free Documentation License, Version 1.3
|
|
or any later version published by the Free Software Foundation;
|
|
with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
|
|
A copy of the license is included in the section entitled ``GNU
|
|
Free Documentation License''.
|
|
\end{quote}
|
|
\bigskip
|
|
|
|
If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts,
|
|
replace the ``with \dots\ Texts.''\ line with this:
|
|
|
|
\bigskip
|
|
\begin{quote}
|
|
with the Invariant Sections being LIST THEIR TITLES, with the
|
|
Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.
|
|
\end{quote}
|
|
\bigskip
|
|
|
|
If you have Invariant Sections without Cover Texts, or some other
|
|
combination of the three, merge those two alternatives to suit the
|
|
situation.
|
|
|
|
If your document contains nontrivial examples of program code, we
|
|
recommend releasing these examples in parallel under your choice of
|
|
free software license, such as the GNU General Public License,
|
|
to permit their use in free software.
|
|
|
|
\end{document}
|