All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] x86: init improvements
@ 2023-05-02  9:22 Roger Pau Monne
  2023-05-02  9:22 ` [PATCH 1/2] x86/head: check base address alignment Roger Pau Monne
  2023-05-02  9:22 ` [PATCH 2/2] x86/trampoline: load the GDT located in the trampoline page Roger Pau Monne
  0 siblings, 2 replies; 15+ messages in thread
From: Roger Pau Monne @ 2023-05-02  9:22 UTC (permalink / raw)
  To: xen-devel; +Cc: Roger Pau Monne, Jan Beulich, Andrew Cooper, Wei Liu

Hello,

The following series contain two minor improvements for early boot: the
first one is an alignment check when building the initial page tables,
the second is a consistency fix for the GDT used by the BSP for the
trampoline code.

Both are a result of some debugging work done on a system with broken
firmware that resulted in Xen text not being loaded at a 2Mb aligned
address.  This resulted in corrupted page tables that would manifest as
the ljmp from compatibility mode in trampoline_protmode_entry causing a
triple fault due to the GDT being located in the Xen text section, and
the page table entry for that address being corrupt because Xen was not
loaded a 2Mb boundary.

The aim of the series (specially the first patch) is not to allow
booting on such broken firmware, but to print an error message instead
of causing a triple fault.

Thanks, Roger.

Roger Pau Monne (2):
  x86/head: check base address alignment
  x86/trampoline: load the GDT located in the trampoline page

 xen/arch/x86/boot/head.S       | 9 +++++++++
 xen/arch/x86/boot/trampoline.S | 6 ++++++
 2 files changed, 15 insertions(+)

-- 
2.40.0



^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-05-02 13:27 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-05-02  9:22 [PATCH 0/2] x86: init improvements Roger Pau Monne
2023-05-02  9:22 ` [PATCH 1/2] x86/head: check base address alignment Roger Pau Monne
2023-05-02  9:54   ` Andrew Cooper
2023-05-02 10:28     ` Jan Beulich
2023-05-02 10:51       ` Roger Pau Monné
2023-05-02 11:05         ` Jan Beulich
2023-05-02 11:11           ` Jan Beulich
2023-05-02 13:02             ` Roger Pau Monné
2023-05-02 13:27               ` Jan Beulich
2023-05-02 10:28     ` Roger Pau Monné
2023-05-02 10:34       ` Jan Beulich
2023-05-02 10:35       ` Andrew Cooper
2023-05-02  9:22 ` [PATCH 2/2] x86/trampoline: load the GDT located in the trampoline page Roger Pau Monne
2023-05-02  9:43   ` Andrew Cooper
2023-05-02 10:34     ` Roger Pau Monné

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.