| History log of /src/sys/arch/amd64/conf/kern.ldscript.Xen |
| Revision | | Date | Author | Comments |
| 1.18 |
| 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.17 |
| 21-May-2020 |
jdolecek | update Xen ldscript to add kASan .ctors section, so that Xen kernel with enabled KASAN option at least compiles; no promises on it actually working though
|
| 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 |
| 24-Jun-2018 |
jdolecek | follow change in rev. 1.22 of kern.ldscript and apply same fix for xen ldscript too, but using just regular PAGE_ALIGN alignment:
""" Fix a pretty dumb mistake I made in r1.22: the alignment needs to be in the bss, otherwise the bootloader will use memory before __kernel_end and give a wrong start pa to the kernel. """
this got broke by amd64/locore.S rev. 1.141 which removed an unused variable which forced the alignment
this fixes ps/bt in ddb to be able to find symbols and hence PR port-xen/53056
|
| 1.14 |
| 07-Jan-2018 |
maxv | branches: 1.14.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.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 | Fix previous; do include assym.h.
|
| 1.9 |
| 25-Aug-2015 |
uebayasi | Replace COHERENCY_UNIT in ldscript.
|
| 1.8 |
| 22-Aug-2015 |
uebayasi | Don't need to specify OUTPUT_FORMAT/OUTPUT_ARCH in linker scripts.
|
| 1.7 |
| 20-Aug-2015 |
uebayasi | Simplify these by relocating only .text.
|
| 1.6 |
| 20-Aug-2015 |
uebayasi | Indent with 2 spaces.
|
| 1.5 |
| 02-Nov-2014 |
uebayasi | branches: 1.5.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.4 |
| 01-Nov-2014 |
uebayasi | amd64, i386: Don't expose .data.{read_mostly,cacheline_aligned} sections
|
| 1.3 |
| 01-Jun-2010 |
mjf | branches: 1.3.18; Add __cacheline_aligned and __read_mostly annotations.
These annotations help to mitigate false sharing on multiprocessor systems.
Variables annotated with __cacheline_aligned are placed into the .data.cacheline_aligned section in the kernel. Each item in this section is aligned on a cachline boundary - this avoids false sharing. Highly contended global locks are a good candidate for __cacheline_aligned annotation.
Variables annotated with __read_mostly are packed together tightly into a .data.read_mostly section in the kernel. The idea here is that we can pack infrequently modified data items into a cacheline and avoid having to purge the cache, which would happen if read mostly data and write mostly data shared a cachline. Initialisation variables are a prime candiate for __read_mostly annotations.
|
| 1.2 |
| 22-Nov-2007 |
bouyer | branches: 1.2.2; 1.2.4; 1.2.8; 1.2.16; 1.2.26; 1.2.40; 1.2.46; 1.2.48; Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support to NetBSD/Xen, both Dom0 and DomU.
|
| 1.1 |
| 17-Oct-2007 |
bouyer | branches: 1.1.2; 1.1.4; file kern.ldscript.Xen was initially added on branch bouyer-xenamd64.
|
| 1.1.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
| 1.1.2.2 |
| 25-Oct-2007 |
bouyer | Finish sync with HEAD. Especially use the new x86 pmap for xenamd64. For this: - rename pmap_pte_set() to pmap_pte_testset() - make pmap_pte_set() a function or macro for non-atomic PTE write - define and use pmap_pa2pte()/pmap_pte2pa() to read/write PTE entries - define pmap_pte_flush() which is a nop in x86 case, and flush the MMUops queue in the Xen case
|
| 1.1.2.1 |
| 17-Oct-2007 |
bouyer | amd64 (aka x86-64) support for Xen. Based on the OpenBSD port done by Mathieu Ropert in 2006. DomU-only for now. An INSTALL_XEN3_DOMU kernel with a ramdisk will boot to sysinst if you're lucky. Often it panics because a runable LWP has a NULL stack (really, it's all of l->l_addr which is has been zeroed out while the process was on the queue !) TODO: - bug fixes :) - Most of the xpq_* functions should be shared with xen/i386 - The xen/i386 assembly bootstrap code should be remplaced with the C version in xenamd64/amd64/xpmap.c - see if a config(5) trick could allow to merge xenamd64 back to xen or amd64.
|
| 1.2.48.1 |
| 03-Jul-2010 |
rmind | sync with head
|
| 1.2.46.1 |
| 17-Aug-2010 |
uebayasi | Sync with HEAD.
|
| 1.2.40.2 |
| 29-Mar-2011 |
jym | More sync fixes. And add the mbr_gpt files.
|
| 1.2.40.1 |
| 24-Oct-2010 |
jym | Sync with HEAD
|
| 1.2.26.1 |
| 11-Aug-2010 |
yamt | sync with head.
|
| 1.2.16.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
| 1.2.16.1 |
| 22-Nov-2007 |
matt | file kern.ldscript.Xen was added on branch matt-armv6 on 2008-01-09 01:44:51 +0000
|
| 1.2.8.2 |
| 07-Dec-2007 |
yamt | sync with head
|
| 1.2.8.1 |
| 22-Nov-2007 |
yamt | file kern.ldscript.Xen was added on branch yamt-lazymbuf on 2007-12-07 17:24:03 +0000
|
| 1.2.4.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
| 1.2.4.1 |
| 22-Nov-2007 |
ad | file kern.ldscript.Xen was added on branch vmlocking on 2007-12-03 19:02:47 +0000
|
| 1.2.2.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
| 1.2.2.1 |
| 22-Nov-2007 |
joerg | file kern.ldscript.Xen was added on branch jmcneill-pm on 2007-11-27 19:35:31 +0000
|
| 1.3.18.1 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
| 1.5.2.3 |
| 05-Oct-2016 |
skrll | Sync with HEAD
|
| 1.5.2.2 |
| 29-May-2016 |
skrll | Sync with HEAD
|
| 1.5.2.1 |
| 22-Sep-2015 |
skrll | Sync with HEAD
|
| 1.12.2.1 |
| 06-Aug-2016 |
pgoyette | Sync with HEAD
|
| 1.13.8.1 |
| 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.14.2.1 |
| 25-Jun-2018 |
pgoyette | Sync with HEAD
|