<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in cloudabi64_sysvec.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>1e2521ff - Get rid of sa-&gt;narg.  It serves no purpose; use sa-&gt;callp-&gt;sy_narg instead.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#1e2521ff</link>
        <description>Get rid of sa-&gt;narg.  It serves no purpose; use sa-&gt;callp-&gt;sy_narg instead.Reviewed by:	kibSponsored by:	DARPADifferential Revision:	https://reviews.freebsd.org/D26458

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Sun, 27 Sep 2020 18:47:06 +0000</pubDate>
        <dc:creator>Edward Tomasz Napierala &lt;trasz@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>31174518 - Use uintptr_t instead of register_t * for the stack base.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#31174518</link>
        <description>Use uintptr_t instead of register_t * for the stack base.- Use ustringp for the location of the argv and environment strings  and allow destp to travel further down the stack for the stackgap  and auxv regions.- Update the Linux copyout_strings variants to move destp down the  stack as was done for the native ABIs in r263349.- Stop allocating a space for a stack gap in the Linux ABIs.  This  used to hold translated system call arguments, but hasn&apos;t been used  since r159992.Reviewed by:	kibTested on:	md64 (amd64, i386, linux64), i386 (i386, linux)Sponsored by:	DARPADifferential Revision:	https://reviews.freebsd.org/D22501

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Tue, 03 Dec 2019 23:17:54 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1699546d - Remove sv_pagesize, originally introduced with r100384.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#1699546d</link>
        <description>Remove sv_pagesize, originally introduced with r100384.In all of the architectures we have today, we always use PAGE_SIZE.While in theory one could define different things, none of thecurrent architectures do, even the ones that have transitioned from32-bit to 64-bit like i386 and arm. Some ancient mips binaries onother systems used 8k instead of 4k, but we don&apos;t support runningthose and likely never will due to their age and obscurity.Reviewed by:	imp (who also contributed the commit message)Sponsored by:	DARPA, AFRLDifferential Revision:	https://reviews.freebsd.org/D19280

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Fri, 01 Mar 2019 16:16:38 +0000</pubDate>
        <dc:creator>Edward Tomasz Napierala &lt;trasz@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2d19a20d - Correct some more places where TO_PTR() should be used.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#2d19a20d</link>
        <description>Correct some more places where TO_PTR() should be used.These were missed in r326228.MFC after:	2 weeks

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Sun, 26 Nov 2017 14:53:56 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ee13ffbe - Use TO_PTR() to convert integers to pointers.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#ee13ffbe</link>
        <description>Use TO_PTR() to convert integers to pointers.For FreeBSD/arm64&apos;s cloudabi32 support, I&apos;m going to need a TO_PTR() inthis place. Also use it for all of the other source files, so that thedifference remains as minimal as possible.MFC after:	2 weeks

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Sun, 26 Nov 2017 14:45:56 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>814629dd - Don&apos;t let cpu_set_syscall_retval() clobber exec_setregs().</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#814629dd</link>
        <description>Don&apos;t let cpu_set_syscall_retval() clobber exec_setregs().Upon successful completion, the execve() system call invokesexec_setregs() to initialize the registers of the initial thread of thenewly executed process. What is weird is that when execve() returns, itstill goes through the normal system call return path, clobbering theregisters with the system call&apos;s return value (td-&gt;td_retval).Though this doesn&apos;t seem to be problematic for x86 most of the times (asthe value of eax/rax doesn&apos;t matter upon startup), this can be prettyfrustrating for architectures where function argument and returnregisters overlap (e.g., ARM). On these systems, exec_setregs() alsoneeds to initialize td_retval.Even worse are architectures where cpu_set_syscall_retval() setsregisters to values not derived from td_retval. On these architectures,there is no way cpu_set_syscall_retval() can set registers to the way itwants them to be upon the start of execution.To get rid of this madness, let sys_execve() return EJUSTRETURN. Thiswill cause cpu_set_syscall_retval() to leave registers intact. Thismakes process execution easier to understand. It also eliminates thedifference between execution of the initial process and successive ones.The initial call to sys_execve() is not performed through a system callcontext.Reviewed by:	kib, jhibbitsDifferential Revision:	https://reviews.freebsd.org/D13180

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Fri, 24 Nov 2017 07:35:08 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2d88da2f - Move struct syscall_args syscall arguments parameters container into</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#2d88da2f</link>
        <description>Move struct syscall_args syscall arguments parameters container intostruct thread.For all architectures, the syscall trap handlers have to allocate thestructure on the stack.  The structure takes 88 bytes on 64bit archeswhich is not negligible.  Also, it cannot be easily found by othercode, which e.g. caused duplication of some members of the structureto struct thread already.  The change removes td_dbg_sc_code andtd_dbg_sc_nargs which were directly copied from syscall_args.The structure is put into the copied on fork part of the struct threadto make the syscall arguments information correct in the child afterfork.This move will also allow several more uses shortly.Reviewed by:	jhb (previous version)Sponsored by:	The FreeBSD FoundationMFC after:	3 weeksX-Differential revision:	https://reviews.freebsd.org/D11080

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Mon, 12 Jun 2017 21:03:23 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ebfc2808 - Stop providing the compat_3_brand.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#ebfc2808</link>
        <description>Stop providing the compat_3_brand.As of r315860, the ELF image activator works fine for CloudABI without it.Reviewed by:	kibMFC after:	2 weeks

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Thu, 23 Mar 2017 14:12:21 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2274ab3d - Update r315753 with the proper flag name.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#2274ab3d</link>
        <description>Update r315753 with the proper flag name.Sponsored by:	The FreeBSD FoundationMFC after:	1 week

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 22 Mar 2017 22:28:13 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1438fe3c - Add a flag BI_BRAND_ONLY_STATIC to specify that the brand only</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#1438fe3c</link>
        <description>Add a flag BI_BRAND_ONLY_STATIC to specify that the brand onlymatches static binaries.Interpretation of the &apos;static&apos; there is that the binary must notspecify an interpreter.  In particular, shared objects are matched bythe brand if BI_CAN_EXEC_DYN is also set.This improves precision of the brand matching, which should eliminatesurprises due to brand ordering.Revert r315701.Discussed with and tested by:	ed (previous version)Sponsored by:	The FreeBSD FoundationMFC after:	1 week

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 22 Mar 2017 22:23:01 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ae2373da - Set the interpreter path to /nonexistent.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#ae2373da</link>
        <description>Set the interpreter path to /nonexistent.CloudABI executables are statically linked and don&apos;t have aninterpreter. Setting the interpreter path to NULL used to workpreviously, but r314851 introduced code that checks the stringunconditionally. Running CloudABI executables now causes a null pointerdereference.Looking at the rest of imgact_elf.c, it seems various other codepathsalready leaned on the fact that the interpreter path is set. Let&apos;s justgo ahead and pick an obviously incorrect interpreter path to appeaseimgact_elf.c.MFC after:	1 week

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 22 Mar 2017 07:05:27 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>44232440 - Catch up with changes to structure member names.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#44232440</link>
        <description>Catch up with changes to structure member names.Pointer/length pairs are now always named ${name} and ${name}_len.

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Tue, 17 Jan 2017 22:05:52 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>48734c99 - Convert pointers obtained from the threadattr_t structure with TO_PTR().</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#48734c99</link>
        <description>Convert pointers obtained from the threadattr_t structure with TO_PTR().In all of these source files, the userspace pointer size correspondswith the kernelspace pointer size, meaning that casting directly works.As I&apos;m planning on making 32-bit execution on 64-bit systems work aswell, use TO_PTR() here as well, so that the changes between sourcefiles remain minimal.

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 24 Aug 2016 10:13:18 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>13b4b4df - Provide the CloudABI vDSO to its executables.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#13b4b4df</link>
        <description>Provide the CloudABI vDSO to its executables.CloudABI executables already provide support for passing in vDSOs. Thisfunctionality is used by the emulator for OS X to inject system callhandlers. On FreeBSD, we could use it to optimize calls togettimeofday(), etc.Though I don&apos;t have any plans to optimize any system calls right now,let&apos;s go ahead and already pass in a vDSO. This will allow us tosimplify the executables, as the traditional &quot;syscall&quot; shims can beremoved entirely. It also means that we gain more flexibility withregards to adding and removing system calls.Reviewed by:	kibDifferential Revision:	https://reviews.freebsd.org/D7438

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 10 Aug 2016 21:02:41 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d96aeddf - Don&apos;t forget to set sa-&gt;narg for CloudABI system calls.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#d96aeddf</link>
        <description>Don&apos;t forget to set sa-&gt;narg for CloudABI system calls.It turns out that this value is not used within the system call codeunder normal conditions, except when using tracing tools like ktrace.If we forget to set this value, it is set to random garbage. This maycause ktrace to hang indefinitely, making it impossible to kill.Reported by: Michael PlassPR: 210800MFC before: 11.0-RELEASE

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Fri, 08 Jul 2016 20:09:21 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>5c2cf818 - Update comments for the MD functions managing contexts for new</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#5c2cf818</link>
        <description>Update comments for the MD functions managing contexts for newthreads, to make it less confusing and using modern kernel terms.Rename the functions to reflect current use of the functions, insteadof the historic KSE conventions:  cpu_set_fork_handler -&gt; cpu_fork_kthread_handler (for kthreads)  cpu_set_upcall -&gt; cpu_copy_thread (for forks)  cpu_set_upcall_kse -&gt; cpu_set_upcall (for new threads creation)Reviewed by:	jhb (previous version)Sponsored by:	The FreeBSD FoundationMFC after:	1 weekApproved by:	re (hrs)Differential revision:	https://reviews.freebsd.org/D6731

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Thu, 16 Jun 2016 12:05:44 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>ab835750 - Make CloudABI&apos;s way of doing TLS more friendly to userspace emulators.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#ab835750</link>
        <description>Make CloudABI&apos;s way of doing TLS more friendly to userspace emulators.We&apos;re currently seeing how hard it would be to run CloudABI binaries onoperating systems cannot be modified easily (Windows, Mac OS X). Theidea is that we want to just run them without any sandboxing. Nowthat CloudABI executables are PIE, this is already a bit easier, but TLSis still problematic:- CloudABI executables want to write to the %fs, which typically  requires extra system calls by the emulator every time it needs to  switch between CloudABI&apos;s and its own TLS.- If CloudABI executables overwrite the %fs base unconditionally, it  also becomes harder for the emulator to store a backup of the old  value of %fs. To solve this, let&apos;s no longer overwrite %fs, but just  %fs:0.As CloudABI&apos;s C library does not use a TCB, this space can now be usedby an emulator to keep track of its internal state. The executable cannow safely overwrite %fs:0, as long as it makes sure that the TCB iscopied over to the new TLS area.Ensure that there is an initial TLS area set up when the process starts,only containing a bogus TCB. We don&apos;t really care about its contents onFreeBSD.Reviewed by:	kibDifferential Revision:	https://reviews.freebsd.org/D5836

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 06 Apr 2016 11:11:31 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>4a8b3b18 - Make Position Independent Executables work for CloudABI.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#4a8b3b18</link>
        <description>Make Position Independent Executables work for CloudABI.- Set BI_CAN_EXEC_DYN, so we can execute ET_DYN ELF files in addition to  regular ET_EXECs.- Provide an AT_BASE entry in the auxiliary vector, so the executable  knows at which address it got loaded and can apply relocations.

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Thu, 31 Mar 2016 18:52:00 +0000</pubDate>
        <dc:creator>Ed Schouten &lt;ed@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>6fc8053f - Fix reporting of the CloudABI ABI in kdump.</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#6fc8053f</link>
        <description>Fix reporting of the CloudABI ABI in kdump.- Advertise the word size for CloudABI ABIs via the SV_LP64 flag.  All of  the other ABIs include either SV_ILP32 or SV_LP64.- Fix kdump to not assume a 32-bit ABI if the ABI flags field is non-zero  but SV_LP64 isn&apos;t set.  Instead, only assume a 32-bit ABI if SV_ILP32 is  set and fallback to the unknown value of &quot;00&quot; if neither SV_LP64 nor  SV_ILP32 is set.Reviewed by:	kib, edDifferential Revision:	https://reviews.freebsd.org/D5560

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Wed, 09 Mar 2016 18:38:30 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>a1e1814d - As &lt;machine/pmap.h&gt; is included from &lt;vm/pmap.h&gt;, there is no need to</title>
        <link>http://172.16.0.5:8080/history/freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c#a1e1814d</link>
        <description>As &lt;machine/pmap.h&gt; is included from &lt;vm/pmap.h&gt;, there is no need toinclude it explicitly when &lt;vm/pmap.h&gt; is already included.Reviewed by:	alc, kibDifferential Revision:	https://reviews.freebsd.org/D5373

            List of files:
            /freebsd-13.1/sys/arm64/cloudabi64/cloudabi64_sysvec.c</description>
        <pubDate>Mon, 22 Feb 2016 09:02:20 +0000</pubDate>
        <dc:creator>Svatopluk Kraus &lt;skra@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
