Home | History | Annotate | Download | only in conf
History log of /src/sys/arch/i386/conf/kern.ldscript.Xen
RevisionDateAuthorComments
 1.17  24-Jan-2022  maya put .note.Xen into PT_NOTE

this is where grub 2.02 and possibly other things expect
to find it.
Fixes booting with grub2 on prgmr.com.
 1.16  24-Jun-2018  maxv Sync the ld scripts:

* Force a PAGE_SIZE alignment of .bss on i386. Normally that's not
required since the bootloader ensures page alignment, but let's be
safe. Same on Xen-i386.

* Fill the .text section padding with int3 instructions on Xen kernels,
to prevent FALLTHROUGHs if a pointer goes crazy, same as native.
 1.15  07-Jan-2018  maxv branches: 1.15.2;
Implement a real hotpatch feature.

Define a HOTPATCH() macro, that puts a label and additional information
in the new .rodata.hotpatch kernel section. In patch.c, scan the section
and patch what needs to be. Now it is possible to hotpatch the content of
a macro.

SMAP is switched to use this new system; this saves a call+ret in each
kernel entry/exit point.

Many other operating systems do the same.
 1.14  25-Jun-2017  bouyer Restore alignement of _end to rev 1.12: this is where the Xen loader
puts the symbol table and should not be changed (maybe we should change
this symbol name).
keep kernel_end PAGE-aligned.
Makes ddb work again on Xen/i386
 1.13  02-Aug-2016  maxv branches: 1.13.8;
Align the segments properly, and split text+rodata in two separate segments
on Xen.
 1.12  13-May-2016  maxv branches: 1.12.2;
Xen therefore uses x86/db_memrw.c, as I suspected. Define __rodata_start
in the Xen ld scripts, so that it can compile. We put the __rodata_start
definition right before __data_start, for it to appear as dead code, since
the rodata segment is not yet mapped independently on Xen.
 1.11  12-May-2016  maxv KNF the Xen ld scripts on x86.
 1.10  25-Aug-2015  uebayasi Replace a constant in ldscript.
 1.9  22-Aug-2015  uebayasi Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
 1.8  20-Aug-2015  uebayasi Simplify these by doing AT () relocation once.
 1.7  20-Aug-2015  uebayasi Indent with 2 spaces.
 1.6  02-Nov-2014  uebayasi branches: 1.6.2;
Revert previous per joerg@'s request.

According to him, exposing .data.{read_mostly,cacheline_aligned} is
intentional so that people can easily see which variables are optimized.
 1.5  01-Nov-2014  uebayasi amd64, i386: Don't expose .data.{read_mostly,cacheline_aligned} sections
 1.4  23-Sep-2012  chs sync ldscripts; add cacheline_aligned and read_mostly handling
to the non-default ones.
 1.3  18-Oct-2007  yamt branches: 1.3.54; 1.3.60; 1.3.64;
merge yamt-x86pmap branch.

- reduce differences between amd64 and i386. notably, share pmap.c
between them. it makes several i386 pmap improvements available to
amd64, including tlb shootdown reduction and bug fixes from Stephan Uphoff.
- implement deferred pmap switching for amd64.
- remove LARGEPAGES option. always use large pages if available.
also, make it work on amd64.
 1.2  02-Dec-2006  christos branches: 1.2.6; 1.2.22; 1.2.24; 1.2.26; 1.2.28;
keep the note section
 1.1  28-May-2006  pavel branches: 1.1.2; 1.1.6; 1.1.8; 1.1.10; 1.1.14; 1.1.16; 1.1.18;
Give Xen its own linker script, which does not set the physical load address
specially. In Xen, the system is already in virtual mode when the kernel is
started, so the old behavior of setting physical address to virtual address
was actually correct, and the previous change made NetBSD/Xen kernels
unbootable.

Pointed out, explained and tested by <bouyer>.
 1.1.18.1  10-Dec-2006  yamt sync with head.
 1.1.16.2  09-Sep-2006  rpaulo sync with head
 1.1.16.1  28-May-2006  rpaulo file kern.ldscript.Xen was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:39:53 +0000
 1.1.14.1  12-Jan-2007  ad Sync with head.
 1.1.10.2  26-Jun-2006  yamt sync with head.
 1.1.10.1  28-May-2006  yamt file kern.ldscript.Xen was added on branch yamt-pdpolicy on 2006-06-26 12:44:39 +0000
 1.1.8.4  27-Oct-2007  yamt sync with head.
 1.1.8.3  30-Dec-2006  yamt sync with head.
 1.1.8.2  21-Jun-2006  yamt sync with head.
 1.1.8.1  28-May-2006  yamt file kern.ldscript.Xen was added on branch yamt-lazymbuf on 2006-06-21 14:52:10 +0000
 1.1.6.2  19-Jun-2006  chap Sync with head.
 1.1.6.1  28-May-2006  chap file kern.ldscript.Xen was added on branch chap-midi on 2006-06-19 03:44:03 +0000
 1.1.2.2  01-Jun-2006  kardel Sync with head.
 1.1.2.1  28-May-2006  kardel file kern.ldscript.Xen was added on branch simonb-timecounters on 2006-06-01 22:34:35 +0000
 1.2.28.1  25-Oct-2007  bouyer Sync with HEAD.
 1.2.26.1  04-Oct-2007  yamt - move etext before rodata. define __data_start at the start of
.data section and use it instead of etext where appropriate.
- put .rodata.* into .rodata section as well.
- pmap_bootstrap: don't assume NBPD_L2 alignment.
- pmap_bootstrap: if DEBUG, print how many large pages and normal pages are
used to map kernel text.
 1.2.24.1  06-Nov-2007  matt sync with HEAD
 1.2.22.1  26-Oct-2007  joerg Sync with HEAD.

Follow the merge of pmap.c on i386 and amd64 and move
pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup
code to restore CR4 before jumping back into kernel space as the large
page option might cover that.
 1.2.6.1  23-Oct-2007  ad Sync with head.
 1.3.64.2  03-Dec-2017  jdolecek update from HEAD
 1.3.64.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.3.60.1  22-Nov-2012  riz Pull up following revision(s) (requested by chs in ticket #684):
sys/arch/i386/conf/kern.ldscript.Xen: revision 1.4
sys/arch/i386/conf/kern.ldscript: revision 1.9
sys/arch/i386/conf/kern.ldscript.4MB: revision 1.10
sync ldscripts; add cacheline_aligned and read_mostly handling
to the non-default ones.
 1.3.54.1  30-Oct-2012  yamt sync with head
 1.6.2.4  28-Aug-2017  skrll Sync with HEAD
 1.6.2.3  05-Oct-2016  skrll Sync with HEAD
 1.6.2.2  29-May-2016  skrll Sync with HEAD
 1.6.2.1  22-Sep-2015  skrll Sync with HEAD
 1.12.2.1  06-Aug-2016  pgoyette Sync with HEAD
 1.13.8.2  06-Mar-2018  martin Pull up the following revisions, requested by maxv in ticket #603:

amd64/conf/kern.ldscript 1.25 (patch)
amd64/conf/kern.ldscript.Xen 1.14 (patch)
i386/conf/kern.ldscript 1.21 (patch)
i386/conf/kern.ldscript.Xen 1.15 (patch)
x86/include/cpufunc.h 1.24 (patch)
x86/x86/patch.c 1.25 (partial) 1.26 (partial)

Backport x86_hotpatch.
 1.13.8.1  05-Jul-2017  snj Pull up following revision(s) (requested by bouyer in ticket #90):
sys/arch/i386/conf/kern.ldscript.Xen: revision 1.14
Restore alignement of _end to rev 1.12: this is where the Xen loader
puts the symbol table and should not be changed (maybe we should change
this symbol name).
keep kernel_end PAGE-aligned.
Makes ddb work again on Xen/i386
 1.15.2.1  25-Jun-2018  pgoyette Sync with HEAD

RSS XML Feed