Home | History | Annotate | Download | only in amd64
History log of /src/sys/compat/linux32/arch/amd64/linux32_exec.h
RevisionDateAuthorComments
 1.10  26-Nov-2021  ryo - LINUX_GO_RT0_SIGNATURE for compat_linux is no longer enabled by default.
it is now defined in each arch same as the other *_SIGNATURE definitions.
- add new LINUX32_GO_RT0_SIGNATURE for compat_linux32, and is defined in amd64 and aarch64.
 1.9  25-Nov-2021  ryo Extra arguments for AT_HWCAP and AT_PLATFORM are now passed when executing linux32 binaries.

AT_SYSINFO (vsyscall) feature seems to be broken, so leave it commented out.
 1.8  25-Nov-2021  ryo The default name of the `exec_setup_stack' function for linux32 should be `linux32_exec_setup_stack',
and it should be defined in each arch.
declaration of linux32_exec_setup_stack() in linux32/amd64 has been removed because it does not exist.

NFC.
 1.7  26-Apr-2017  christos catch up with unit fixes for es_arglen; consistently use bytes.
 1.6  21-Feb-2014  maxv branches: 1.6.6; 1.6.20;
Increase LINUX32_ELF_AUX_ENTRIES to avoid overrun in linux32/. Also,
add comments and KASSERTs to make sure people don't forget to increase
XX_AUX_ENTRIES's when adding vectors.

Reported by martin@ (CV), with suggestions from chs@.

ok martin@ chs@
 1.5  09-Feb-2014  chs account for the 16 bytes of AT_RANDOM data in the stack setup. fixes PR 48518.
use cprng_strong32() instead of random(). add AT_RANDOM support for linux32.
 1.4  07-Jul-2010  chs branches: 1.4.8; 1.4.18; 1.4.22;
many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many LWPs
instead of separate processes.
- move the contents of sys__lwp_setprivate() into a new
lwp_setprivate() and use that everywhere.
- update linux_release[] and linux32_release[] to "2.6.18".
- adjust placement of emul fork/exec/exit hooks as needed
and adjust other emul code to match.
- convert all struct emul definitions to use named initializers.
- change the pid allocator to allow multiple pids to refer to the same proc.
- remove a few fields from struct proc that are no longer needed.
- disable the non-functional "vdso" code in linux32/amd64,
glibc works fine without it.
- fix a race in the futex code where we could miss a wakeup after
a requeue operation.
- redo futex locking to be a little more efficient.
 1.3  18-Apr-2010  jym This patch fixes the NX regression issue observed on amd64 kernels, where
per-page execution right was disabled (therefore leading to the inability
of the kernel to detect fraudulent use of memory mappings marked as not
being executable).

- replace cpu_feature and ci_feature_flags variables by cpu_feature and
ci_feat_val arrays. This makes it cleaner and brings kernel code closer
to the design of cpuctl(8). A warning will be raised for each CPU that
does not expose the same features as the Boot Processor (BP).

- the blacklist of CPU features is now a macro defined in the
specialreg.h header, instead of hardcoding it inside MD initialization
code; fix comments.

- replace checks against CPUID_TSC with the cpu_hascounter() function.

- clean up the code in init_x86_64(), as cpu_feature variables are set
inside cpu_probe().

- use cpu_init_msrs() for i386. It will be eventually used later for NX
feature under i386 PAE kernels.

- remove code that checks for CPUID_NOX in amd64 mptramp.S, this is already
performed by cpu_hatch() through cpu_init_msrs().

- remove cpu_signature and feature_flags members from struct mpbios_proc
(they were never used).

This patch was tested with i386 MONOLITHIC, XEN3PAE_DOM0 and XEN3_DOM0 under
a native i386 host, and amd64 GENERIC, XEN3_DOM0 via QEMU virtual machines.

XXX Should kernel rev be bumped?

XXX A similar patch should be pulled-up for NetBSD-5, hopefully tomorrow.
 1.2  07-Aug-2006  manu branches: 1.2.6; 1.2.60; 1.2.82; 1.2.84;
Add a new signature test for linux probe function. We look for a .debuglink
section, which is specific to the Linux dynamic interpeter (yes, Linux
can execute it as a stand alone program)
 1.1  09-Feb-2006  manu branches: 1.1.2; 1.1.4; 1.1.10; 1.1.16;
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.1.16.3  30-Dec-2006  yamt sync with head.
 1.1.16.2  21-Jun-2006  yamt sync with head.
 1.1.16.1  09-Feb-2006  yamt file linux32_exec.h was added on branch yamt-lazymbuf on 2006-06-21 14:59:27 +0000
 1.1.10.2  22-Apr-2006  simonb Sync with head.
 1.1.10.1  09-Feb-2006  simonb file linux32_exec.h was added on branch simonb-timecounters on 2006-04-22 11:38:14 +0000
 1.1.4.1  11-Aug-2006  yamt sync with head
 1.1.2.2  18-Feb-2006  yamt sync with head.
 1.1.2.1  09-Feb-2006  yamt file linux32_exec.h was added on branch yamt-uio_vmspace on 2006-02-18 15:38:59 +0000
 1.2.84.2  05-Mar-2011  rmind sync with head
 1.2.84.1  30-May-2010  rmind sync with head
 1.2.82.2  17-Aug-2010  uebayasi Sync with HEAD.
 1.2.82.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.2.60.1  11-Aug-2010  yamt sync with head.
 1.2.6.2  09-Sep-2006  rpaulo sync with head
 1.2.6.1  07-Aug-2006  rpaulo file linux32_exec.h was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:45:52 +0000
 1.4.22.1  18-May-2014  rmind sync with head
 1.4.18.2  03-Dec-2017  jdolecek update from HEAD
 1.4.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.4.8.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.6.20.1  02-May-2017  pgoyette Sync with HEAD - tag prg-localcount2-base1
 1.6.6.1  28-Aug-2017  skrll Sync with HEAD

RSS XML Feed