Question:
Modern hardware relies primarily on memory mapped I/O which is typically
at addresses that are not mapped by the kernels initial page tables,
which makes using them currently unusable for early debugging print support.
So this patch set digs in and fixes the early page tables on both
arch/i386 and arch/x86_64 so that set_fixmap works with our initial boot
page tables. All that is needed is that we allocate preallocate the pte
page that the fixmap entries live on.
Answer:
a partition lable and a mount point are two totally unrelated things,
almost. Almost because there is a way (I don't do it, so I'll be vague)
to use disk lables in fstab to refer to partitions instead of using
device names (e.g. /dev/hda1). This is useful on USB and SATA drives
that all show up as /dev/sd*, but the actual name for any given drive
can change depending on what other drives are connected (e.g. USB
sticks) during boot.
If this doesn't apply to you, then you can forget lables. Also, not all
filesystems allow you to relabel.
Your existing fstab (the one that mounts the drive on /xyz) points to a
mount point /xyz.
This patch preallocates the intermediate page table entries so that
all that is needed to setup a fixmap is to fill in the appropriate
pte.
By doing this modern hardware that uses memory mapped access can be
talked to early in boot through a fixmap.
I am preparing to convert the boot time page table to the kernels
native format. To achieve that I need to enable PAE. Enabling PSE
and the no execute bit would not hurt. So this patch modifies
the boot cpu path to execute all of the kernels enable code
if and only if we have the proper bits set in mmu_cr4_features.
If we don't set the leaf page table entries it is quite possible that
will inherit and incorrect page table entry from the initial boot
page table setup in head.S. So we need to redo the effort here,
so we pick up PSE, PGE and the like.
Hypervisors like Xen require that their page tables be read-only,
which is slightly incompatible with our low identity mappings, however
I discussed this with Jeremy he has modified the Xen early set_pte
function to avoid problems in this area.
Andi I sent this once a part of the discussion on this issue so
you may already have this patch in your queue.