From owner-svn-src-projects@freebsd.org Tue Jul 30 19:42:52 2019 Return-Path: Delivered-To: svn-src-projects@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id BB645AB611 for ; Tue, 30 Jul 2019 19:42:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id A27F66E77A; Tue, 30 Jul 2019 19:42:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 7F0891E046; Tue, 30 Jul 2019 19:42:52 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x6UJgqUr015804; Tue, 30 Jul 2019 19:42:52 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x6UJgl2N015775; Tue, 30 Jul 2019 19:42:47 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201907301942.x6UJgl2N015775@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Tue, 30 Jul 2019 19:42:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r350454 - in projects/fuse2: . contrib/elftoolchain/elfcopy etc/mtree lib/libcasper/libcasper lib/libcasper/services/cap_fileargs share/man/man9 share/mk stand/efi/loader sys/amd64/conf... X-SVN-Group: projects X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: in projects/fuse2: . contrib/elftoolchain/elfcopy etc/mtree lib/libcasper/libcasper lib/libcasper/services/cap_fileargs share/man/man9 share/mk stand/efi/loader sys/amd64/conf sys/amd64/linux sys/amd6... X-SVN-Commit-Revision: 350454 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Rspamd-Queue-Id: A27F66E77A X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.97 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; NEURAL_HAM_SHORT(-0.97)[-0.973,0]; ASN(0.00)[asn:11403, ipnet:2610:1c1:1::/48, country:US] X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 30 Jul 2019 19:42:52 -0000 Author: asomers Date: Tue Jul 30 19:42:46 2019 New Revision: 350454 URL: https://svnweb.freebsd.org/changeset/base/350454 Log: MFHead @350453 Sponsored by: The FreeBSD Foundation Added: projects/fuse2/share/man/man9/seqc.9 - copied unchanged from r350453, head/share/man/man9/seqc.9 projects/fuse2/sys/amd64/linux/linux_locore.asm - copied unchanged from r350453, head/sys/amd64/linux/linux_locore.asm projects/fuse2/sys/amd64/linux32/linux32_locore.asm - copied unchanged from r350453, head/sys/amd64/linux32/linux32_locore.asm projects/fuse2/sys/arm64/linux/linux_locore.asm - copied unchanged from r350453, head/sys/arm64/linux/linux_locore.asm projects/fuse2/sys/i386/linux/linux_locore.asm - copied unchanged from r350453, head/sys/i386/linux/linux_locore.asm Deleted: projects/fuse2/sys/amd64/linux/linux_locore.s projects/fuse2/sys/amd64/linux32/linux32_locore.s projects/fuse2/sys/arm/arm/elf_trampoline.c projects/fuse2/sys/arm64/linux/linux_locore.s projects/fuse2/sys/i386/linux/linux_locore.s projects/fuse2/sys/kern/imgact_gzip.c projects/fuse2/sys/kern/subr_inflate.c projects/fuse2/sys/sys/inflate.h Modified: projects/fuse2/.cirrus.yml projects/fuse2/contrib/elftoolchain/elfcopy/main.c projects/fuse2/contrib/elftoolchain/elfcopy/strip.1 projects/fuse2/etc/mtree/BSD.var.dist projects/fuse2/lib/libcasper/libcasper/libcasper.3 projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3 projects/fuse2/share/man/man9/Makefile projects/fuse2/share/mk/bsd.sys.mk projects/fuse2/stand/efi/loader/conf.c projects/fuse2/sys/amd64/conf/NOTES projects/fuse2/sys/arm64/arm64/pmap.c projects/fuse2/sys/arm64/conf/GENERIC projects/fuse2/sys/conf/files projects/fuse2/sys/conf/files.amd64 projects/fuse2/sys/conf/files.arm64 projects/fuse2/sys/conf/files.i386 projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c projects/fuse2/sys/dev/sound/pci/hda/hdac.h projects/fuse2/sys/i386/conf/NOTES projects/fuse2/sys/kern/capabilities.conf projects/fuse2/sys/kern/init_sysent.c projects/fuse2/sys/kern/kern_exit.c projects/fuse2/sys/kern/kern_sendfile.c projects/fuse2/sys/kern/subr_witness.c projects/fuse2/sys/kern/vfs_bio.c projects/fuse2/sys/modules/linux64/Makefile projects/fuse2/sys/sys/proc.h projects/fuse2/sys/sys/refcount.h projects/fuse2/sys/sys/seqc.h projects/fuse2/sys/vm/vm_page.c projects/fuse2/sys/vm/vm_page.h Directory Properties: projects/fuse2/ (props changed) projects/fuse2/contrib/elftoolchain/ (props changed) Modified: projects/fuse2/.cirrus.yml ============================================================================== --- projects/fuse2/.cirrus.yml Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/.cirrus.yml Tue Jul 30 19:42:46 2019 (r350454) @@ -12,7 +12,6 @@ task: timeout_in: 90m install_script: - pkg install -y qemu-devel uefi-edk2-qemu-x86_64 - - fetch https://people.freebsd.org/~emaste/OVMF.fd script: - make -j$(sysctl -n hw.ncpu) WITHOUT_TOOLCHAIN=yes buildworld buildkernel test_script: Modified: projects/fuse2/contrib/elftoolchain/elfcopy/main.c ============================================================================== --- projects/fuse2/contrib/elftoolchain/elfcopy/main.c Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/contrib/elftoolchain/elfcopy/main.c Tue Jul 30 19:42:46 2019 (r350454) @@ -1187,6 +1187,12 @@ strip_main(struct elfcopy *ecp, int argc, char **argv) ecp->strip = STRIP_ALL; if (optind == argc) strip_usage(); + /* + * Only accept a single input file if an output file had been + * specified. + */ + if (outfile != NULL && argc != (optind + 1)) + strip_usage(); for (i = optind; i < argc; i++) create_file(ecp, argv[i], outfile); Modified: projects/fuse2/contrib/elftoolchain/elfcopy/strip.1 ============================================================================== --- projects/fuse2/contrib/elftoolchain/elfcopy/strip.1 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/contrib/elftoolchain/elfcopy/strip.1 Tue Jul 30 19:42:46 2019 (r350454) @@ -23,7 +23,7 @@ .\" .\" $Id: strip.1 3642 2018-10-14 14:24:28Z jkoshy $ .\" -.Dd September 17, 2011 +.Dd July 27, 2019 .Dt STRIP 1 .Os .Sh NAME @@ -51,8 +51,16 @@ .Sh DESCRIPTION The .Nm -utility is used to discard information from ELF objects. +utility is used to discard information from the ELF objects +specified by the arguments +.Ar . .Pp +If an explicit output file name is not specified using the +.Fl o +option, the +.Nm +utility will modify its input arguments in-place. +.Pp The .Nm utility supports the following options: @@ -65,8 +73,9 @@ Print a help message and exit. Remove all content except that which would be used for debugging. .It Fl o Ar outputfile | Fl -output-file= Ns Ar outputfile Write the stripped object to file -.Ar outputfile . -The default behaviour is to modify objects in place. +.Ar outputfile +instead of modifying the input in-place. +Only a single input object should be specified if this option is used. .It Fl p | Fl -preserve-dates Preserve the object's access and modification times. .It Fl s | Fl -strip-all Modified: projects/fuse2/etc/mtree/BSD.var.dist ============================================================================== --- projects/fuse2/etc/mtree/BSD.var.dist Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/etc/mtree/BSD.var.dist Tue Jul 30 19:42:46 2019 (r350454) @@ -5,7 +5,7 @@ /set type=dir uname=root gname=wheel mode=0755 tags=package=runtime . - account + account mode=0750 .. at /set uname=daemon Modified: projects/fuse2/lib/libcasper/libcasper/libcasper.3 ============================================================================== --- projects/fuse2/lib/libcasper/libcasper/libcasper.3 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/lib/libcasper/libcasper/libcasper.3 Tue Jul 30 19:42:46 2019 (r350454) @@ -28,7 +28,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 5, 2018 +.Dd July 29, 2019 .Dt LIBCASPER 3 .Os .Sh NAME @@ -212,9 +212,6 @@ compatible API provides .Xr getpwent 3 compatible API -.It system.random -allows to obtain entropy from -.Pa /dev/random .It system.sysctl provides .Xr sysctlbyname 3 Modified: projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3 ============================================================================== --- projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/lib/libcasper/services/cap_fileargs/cap_fileargs.3 Tue Jul 30 19:42:46 2019 (r350454) @@ -247,7 +247,7 @@ for (i = 0; i < argc; i++) { fd = fileargs_open(fa, argv[i]); if (fd < 0) err(1, "unable to open file %s", argv[i]); - printf("File %s opened in capability mode\n", argv[i]); + printf("File %s opened in capability mode\en", argv[i]); close(fd); } Modified: projects/fuse2/share/man/man9/Makefile ============================================================================== --- projects/fuse2/share/man/man9/Makefile Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/share/man/man9/Makefile Tue Jul 30 19:42:46 2019 (r350454) @@ -289,6 +289,7 @@ MAN= accept_filter.9 \ securelevel_gt.9 \ selrecord.9 \ sema.9 \ + seqc.9 \ sf_buf.9 \ sglist.9 \ shm_map.9 \ @@ -1825,6 +1826,10 @@ MLINKS+=sema.9 sema_destroy.9 \ sema.9 sema_trywait.9 \ sema.9 sema_value.9 \ sema.9 sema_wait.9 +MLINKS+=seqc.9 seqc_consistent.9 \ + seqc.9 seqc_read.9 \ + seqc.9 seqc_write_begin.9 \ + seqc.9 seqc_write_end.9 MLINKS+=sf_buf.9 sf_buf_alloc.9 \ sf_buf.9 sf_buf_free.9 \ sf_buf.9 sf_buf_kva.9 \ Copied: projects/fuse2/share/man/man9/seqc.9 (from r350453, head/share/man/man9/seqc.9) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/share/man/man9/seqc.9 Tue Jul 30 19:42:46 2019 (r350454, copy of r350453, head/share/man/man9/seqc.9) @@ -0,0 +1,138 @@ +.\" +.\" Copyright (C) 2019 Mariusz Zaborski +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice(s), this list of conditions and the following disclaimer as +.\" the first lines of this file unmodified other than the possible +.\" addition of one or more copyright notices. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice(s), this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY +.\" EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +.\" WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +.\" DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY +.\" DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +.\" (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +.\" SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +.\" CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH +.\" DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd July 29, 2019 +.Dt SEQC 9 +.Os +.Sh NAME +.Nm seqc_consistent , +.Nm seqc_read , +.Nm seqc_write_begin , +.Nm seqc_write_end +.Nd "lockless read algorithm" +.Sh SYNOPSIS +.In sys/seqc.h +.Ft void +.Fn seqc_write_begin "seqc_t *seqcp" +.Ft void +.Fn seqc_write_end "seqc_t *seqcp" +.Ft seqc_t +.Fn seqc_read "seqc_t *seqcp" +.Ft seqc_t +.Fn seqc_consistent "const seqc_t *seqcp" "seqc_t oldseqc" +.Sh DESCRIPTION +The +.Nm seqc +allows zero or more readers and zero or one writer to concurrently access +an object, providing a consistent snapshot of the object for readers. +No mutual exclusion between readers and writers is required, +but readers may be starved indefinitely by writers. +.Pp +The functions +.Fn seqc_write_begin +and +.Fn seqc_write_end +are used to create a transaction for writer, and notify the readers that the +object will be modified. +.Pp +The +.Fn seqc_read +function returns the current sequence number. +If a writer has started a transaction, this function will spin until the +transaction has ended. +.Pp +The +.Fn seqc_consistent +function compares the sequence number with a previously fetched value. +The +.Fa oldseqc +variable should contain a sequence number from the beginning of read +transaction. +.Pp +The reader at the end of a transaction checks if the sequence number has +changed. +If the sequence number didn't change the object wasn't modified, and fetched +variables are valid. +If the sequence number changed the object was modified and the fetch should be +repeated. +In case when sequence number is odd the object change is in progress and the +reader will wait until the write will the sequence number will become even. +.Sh EXAMPLES +The following example for a writer changees the +.Va var1 +and +.Va var2 +variables in the +.Va obj +structure: +.Bd -literal +lock_exclusive(&obj->lock); +seqc_write_begin(&obj->seqc); +obj->var1 = 1; +obj->var2 = 2; +seqc_write_end(&obj->seqc); +unlock_exclusive(&obj->lock); +.Ed +The following example for a reader reads the +.Va var1 +and +.Va var2 +variables from the +.Va obj +structure. +In the case where the sequence number was changed it restarts the whole process. +.Bd -literal +int var1, var2; +seqc_t seqc; + +for (;;) { + seqc = seqc_read(&obj->seqc); + var1 = obj->var1; + var2 = obj->var2; + if (seqc_consistent(&obj->seqc, seqc)) + break; +} +.Ed +.Sh AUTHORS +The +.Nm seqc +functions was implemented by +.An Mateusz Guzik Aq Mt mjg@FreeBSD.org . +This manual page was written by +.An Mariusz Zaborski Aq Mt oshogbo@FreeBSD.org . +.Sh CAVEATS +There is no guarantee of progress for readers. +In case when there are a lot of writers the reader can be starved. +This concern may be solved by returning error after a few attempts. +.Pp +Theoretically if reading takes a very long time, and when there are many writers +the counter may overflow and wrap around to the same value. +In that case the reader will not notice that the object was changed. +Given that this needs 4 billion transactional writes across a single contended +reader, it is unlikely to ever happen. +This could be avoided by extending the interface to allow 64-bit counters. Modified: projects/fuse2/share/mk/bsd.sys.mk ============================================================================== --- projects/fuse2/share/mk/bsd.sys.mk Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/share/mk/bsd.sys.mk Tue Jul 30 19:42:46 2019 (r350454) @@ -234,6 +234,8 @@ DEBUG_FILES_CFLAGS?= -g .if ${MK_WARNS} != "no" CFLAGS+= ${CWARNFLAGS:M*} ${CWARNFLAGS.${COMPILER_TYPE}} CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} +CXXFLAGS+= ${CXXWARNFLAGS:M*} ${CXXWARNFLAGS.${COMPILER_TYPE}} +CXXFLAGS+= ${CXXWARNFLAGS.${.IMPSRC:T}} .endif CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} Modified: projects/fuse2/stand/efi/loader/conf.c ============================================================================== --- projects/fuse2/stand/efi/loader/conf.c Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/stand/efi/loader/conf.c Tue Jul 30 19:42:46 2019 (r350454) @@ -40,7 +40,9 @@ struct devsw *devsw[] = { &efipart_cddev, &efipart_hddev, &efihttp_dev, /* ordering with efinet_dev matters */ +#if defined(LOADER_NET_SUPPORT) &efinet_dev, +#endif &vdisk_dev, #ifdef EFI_ZFS_BOOT &zfs_dev, @@ -64,7 +66,9 @@ struct fs_ops *file_system[] = { }; struct netif_driver *netif_drivers[] = { +#if defined(LOADER_NET_SUPPORT) &efinetif, +#endif NULL }; Modified: projects/fuse2/sys/amd64/conf/NOTES ============================================================================== --- projects/fuse2/sys/amd64/conf/NOTES Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/amd64/conf/NOTES Tue Jul 30 19:42:46 2019 (r350454) @@ -127,7 +127,6 @@ device nvram # Access to rtc cmos via /dev/nvram device speaker #Play IBM BASIC-style noises out your speaker hint.speaker.0.at="isa" hint.speaker.0.port="0x61" -device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! ##################################################################### Copied: projects/fuse2/sys/amd64/linux/linux_locore.asm (from r350453, head/sys/amd64/linux/linux_locore.asm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/sys/amd64/linux/linux_locore.asm Tue Jul 30 19:42:46 2019 (r350454, copy of r350453, head/sys/amd64/linux/linux_locore.asm) @@ -0,0 +1,108 @@ +/* $FreeBSD$ */ + +#include "linux_assym.h" /* system definitions */ +#include /* miscellaneous asm macros */ + +#include /* system call numbers */ + + .data + + .globl linux_platform +linux_platform: + .asciz "x86_64" + + + .text +/* + * To avoid excess stack frame the signal trampoline code emulates + * the 'call' instruction. + */ +NON_GPROF_ENTRY(linux_rt_sigcode) + movq %rsp, %rbx /* preserve sigframe */ + call .getip +.getip: + popq %rax + add $.startrtsigcode-.getip, %rax /* ret address */ + pushq %rax + jmp *LINUX_RT_SIGF_HANDLER(%rbx) +.startrtsigcode: + movq $LINUX_SYS_linux_rt_sigreturn,%rax /* linux_rt_sigreturn() */ + syscall /* enter kernel with args */ + hlt +.endrtsigcode: +0: jmp 0b + +NON_GPROF_ENTRY(__vdso_clock_gettime) + movq $LINUX_SYS_linux_clock_gettime,%rax + syscall + ret +.weak clock_gettime +.set clock_gettime, __vdso_clock_gettime + +NON_GPROF_ENTRY(__vdso_time) + movq $LINUX_SYS_linux_time,%rax + syscall + ret +.weak time +.set time, __vdso_time + +NON_GPROF_ENTRY(__vdso_gettimeofday) + movq $LINUX_SYS_gettimeofday,%rax + syscall + ret +.weak gettimeofday +.set gettimeofday, __vdso_gettimeofday + +NON_GPROF_ENTRY(__vdso_getcpu) + movq $-38,%rax /* not implemented */ + ret +.weak getcpu +.set getcpu, __vdso_getcpu + +#if 0 + .section .note.Linux, "a",@note + .long 2f - 1f /* namesz */ + .balign 4 + .long 4f - 3f /* descsz */ + .long 0 +1: + .asciz "Linux" +2: + .balign 4 +3: + .long LINUX_VERSION_CODE +4: + .balign 4 + .previous +#endif + + .section .eh_frame,"a",@progbits +.LSTARTFRAMEDLSI0: + .long .LENDCIEDLSI0-.LSTARTCIEDLSI0 +.LSTARTCIEDLSI0: + .long 0 /* CIE ID */ + .byte 1 /* Version number */ + .string "zR" /* NULL-terminated + * augmentation string + */ + .uleb128 1 /* Code alignment factor */ + .sleb128 -4 /* Data alignment factor */ + .byte 8 /* Return address register column */ + .uleb128 1 /* Augmentation value length */ + .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ + .byte 0x0c /* DW_CFA_def_cfa */ + .uleb128 4 + .uleb128 4 + .byte 0x88 /* DW_CFA_offset, column 0x8 */ + .uleb128 1 + .align 4 +.LENDCIEDLSI0: + .long .LENDFDEDLSI0-.LSTARTFDEDLSI0 /* Length FDE */ +.LSTARTFDEDLSI0: + .long .LSTARTFDEDLSI0-.LSTARTFRAMEDLSI0 /* CIE pointer */ + .long .startrtsigcode-. /* PC-relative start address */ + .long .endrtsigcode-.startrtsigcode + .uleb128 0 + .align 4 +.LENDFDEDLSI0: + .previous Copied: projects/fuse2/sys/amd64/linux32/linux32_locore.asm (from r350453, head/sys/amd64/linux32/linux32_locore.asm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/sys/amd64/linux32/linux32_locore.asm Tue Jul 30 19:42:46 2019 (r350454, copy of r350453, head/sys/amd64/linux32/linux32_locore.asm) @@ -0,0 +1,156 @@ +/* $FreeBSD$ */ + +#include "linux32_assym.h" /* system definitions */ +#include /* miscellaneous asm macros */ + +#include /* system call numbers */ + +.data + + .globl linux_platform +linux_platform: + .asciz "i686" + +.text +.code32 + +/* + * To avoid excess stack frame the signal trampoline code emulates + * the 'call' instruction. + */ +NON_GPROF_ENTRY(linux32_sigcode) + movl %esp, %ebx /* preserve sigframe */ + call .getip0 +.getip0: + popl %eax + add $.startsigcode-.getip0, %eax /* ret address */ + push %eax + jmp *LINUX_SIGF_HANDLER(%ebx) +.startsigcode: + popl %eax + movl $LINUX32_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ + int $0x80 /* enter kernel with args */ +.endsigcode: +0: jmp 0b + +NON_GPROF_ENTRY(linux32_rt_sigcode) + leal LINUX_RT_SIGF_UC(%esp),%ebx /* linux ucp */ + leal LINUX_RT_SIGF_SC(%ebx),%ecx /* linux sigcontext */ + movl %esp, %edi + call .getip1 +.getip1: + popl %eax + add $.startrtsigcode-.getip1, %eax /* ret address */ + push %eax + jmp *LINUX_RT_SIGF_HANDLER(%edi) +.startrtsigcode: + movl $LINUX32_SYS_linux_rt_sigreturn,%eax /* linux_rt_sigreturn() */ + int $0x80 /* enter kernel with args */ +.endrtsigcode: +0: jmp 0b + +NON_GPROF_ENTRY(linux32_vsyscall) +.startvsyscall: + int $0x80 + ret +.endvsyscall: + +#if 0 + .section .note.Linux, "a",@note + .long 2f - 1f /* namesz */ + .balign 4 + .long 4f - 3f /* descsz */ + .long 0 +1: + .asciz "Linux" +2: + .balign 4 +3: + .long LINUX_VERSION_CODE +4: + .balign 4 + .previous +#endif + +#define do_cfa_expr(offset) \ + .byte 0x0f; /* DW_CFA_def_cfa_expression */ \ + .uleb128 11f-10f; /* length */ \ +10: .byte 0x74; /* DW_OP_breg4 */ \ + .sleb128 offset; /* offset */ \ + .byte 0x06; /* DW_OP_deref */ \ +11: + + + /* CIE */ + .section .eh_frame,"a",@progbits +.LSTARTFRAMEDLSI1: + .long .LENDCIEDLSI1-.LSTARTCIEDLSI1 +.LSTARTCIEDLSI1: + .long 0 /* CIE ID */ + .byte 1 /* Version number */ + .string "zRS" /* NULL-terminated + * augmentation string + */ + .uleb128 1 /* Code alignment factor */ + .sleb128 -4 /* Data alignment factor */ + .byte 8 /* Return address + * register column + */ + .uleb128 1 /* Augmentation value length */ + .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ + .byte 0 /* DW_CFA_nop */ + .align 4 +.LENDCIEDLSI1: + + /* FDE */ + .long .LENDFDEDLSI1-.LSTARTFDEDLSI1 /* Length FDE */ +.LSTARTFDEDLSI1: + .long .LSTARTFDEDLSI1-.LSTARTFRAMEDLSI1 /* CIE pointer */ + .long .startsigcode-. /* PC-relative start address */ + .long .endsigcode-.startsigcode + .uleb128 0 /* Augmentation */ + do_cfa_expr(LINUX_SIGF_SC-8) + .align 4 +.LENDFDEDLSI1: + + .long .LENDFDEDLSI2-.LSTARTFDEDLSI2 /* Length FDE */ +.LSTARTFDEDLSI2: + .long .LSTARTFDEDLSI2-.LSTARTFRAMEDLSI1 /* CIE pointer */ + .long .startrtsigcode-. /* PC-relative start address */ + .long .endrtsigcode-.startrtsigcode + .uleb128 0 /* Augmentation */ + do_cfa_expr(LINUX_RT_SIGF_SC-4+LINUX_SC_ESP) + .align 4 +.LENDFDEDLSI2: + .previous + + .section .eh_frame,"a",@progbits +.LSTARTFRAMEDLSI2: + .long .LENDCIEDLSI2-.LSTARTCIEDLSI2 +.LSTARTCIEDLSI2: + .long 0 /* CIE ID */ + .byte 1 /* Version number */ + .string "zR" /* NULL-terminated + * augmentation string + */ + .uleb128 1 /* Code alignment factor */ + .sleb128 -4 /* Data alignment factor */ + .byte 8 /* Return address register column */ + .uleb128 1 /* Augmentation value length */ + .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ + .byte 0x0c /* DW_CFA_def_cfa */ + .uleb128 4 + .uleb128 4 + .byte 0x88 /* DW_CFA_offset, column 0x8 */ + .uleb128 1 + .align 4 +.LENDCIEDLSI2: + .long .LENDFDEDLSI3-.LSTARTFDEDLSI3 /* Length FDE */ +.LSTARTFDEDLSI3: + .long .LSTARTFDEDLSI3-.LSTARTFRAMEDLSI2 /* CIE pointer */ + .long .startvsyscall-. /* PC-relative start address */ + .long .endvsyscall-.startvsyscall + .uleb128 0 + .align 4 +.LENDFDEDLSI3: + .previous Modified: projects/fuse2/sys/arm64/arm64/pmap.c ============================================================================== --- projects/fuse2/sys/arm64/arm64/pmap.c Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/arm64/arm64/pmap.c Tue Jul 30 19:42:46 2019 (r350454) @@ -5743,7 +5743,7 @@ pmap_sync_icache(pmap_t pmap, vm_offset_t va, vm_size_ int pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far) { - pt_entry_t *pte; + pt_entry_t pte, *ptep; register_t intr; uint64_t ec, par; int lvl, rv; @@ -5767,9 +5767,9 @@ pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far) case ISS_DATA_DFSC_AFF_L2: case ISS_DATA_DFSC_AFF_L3: PMAP_LOCK(pmap); - pte = pmap_pte(pmap, far, &lvl); - if (pte != NULL) { - pmap_set_bits(pte, ATTR_AF); + ptep = pmap_pte(pmap, far, &lvl); + if (ptep != NULL) { + pmap_set_bits(ptep, ATTR_AF); rv = KERN_SUCCESS; /* * XXXMJ as an optimization we could mark the entry @@ -5785,12 +5785,13 @@ pmap_fault(pmap_t pmap, uint64_t esr, uint64_t far) (esr & ISS_DATA_WnR) == 0) return (rv); PMAP_LOCK(pmap); - pte = pmap_pte(pmap, far, &lvl); - if (pte != NULL && - (pmap_load(pte) & (ATTR_AP_RW_BIT | ATTR_SW_DBM)) == - (ATTR_AP(ATTR_AP_RO) | ATTR_SW_DBM)) { - pmap_clear_bits(pte, ATTR_AP_RW_BIT); - pmap_invalidate_page(pmap, far); + ptep = pmap_pte(pmap, far, &lvl); + if (ptep != NULL && + ((pte = pmap_load(ptep)) & ATTR_SW_DBM) != 0) { + if ((pte & ATTR_AP_RW_BIT) == ATTR_AP(ATTR_AP_RO)) { + pmap_clear_bits(ptep, ATTR_AP_RW_BIT); + pmap_invalidate_page(pmap, far); + } rv = KERN_SUCCESS; } PMAP_UNLOCK(pmap); Modified: projects/fuse2/sys/arm64/conf/GENERIC ============================================================================== --- projects/fuse2/sys/arm64/conf/GENERIC Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/arm64/conf/GENERIC Tue Jul 30 19:42:46 2019 (r350454) @@ -189,6 +189,7 @@ device aw_mmc # Allwinner SD/MMC controller device mmc # mmc/sd bus device mmcsd # mmc/sd flash cards device dwmmc +device dwmmc_altera device rk_emmcphy # Serial (COM) ports Copied: projects/fuse2/sys/arm64/linux/linux_locore.asm (from r350453, head/sys/arm64/linux/linux_locore.asm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/sys/arm64/linux/linux_locore.asm Tue Jul 30 19:42:46 2019 (r350454, copy of r350453, head/sys/arm64/linux/linux_locore.asm) @@ -0,0 +1,58 @@ +/*- + * SPDX-License-Identifier: BSD-2-Clause-FreeBSD + * + * Copyright (C) 2018 Turing Robotic Industries Inc. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * $FreeBSD$ + */ + +/* + * arm64 Linux VDSO implementation. + */ + +#include + + .data + + .globl linux_platform +linux_platform: + .asciz "arm64" + + .text + +ENTRY(__kernel_rt_sigreturn) + brk #0 /* LINUXTODO: implement __kernel_rt_sigreturn */ + ret + +ENTRY(__kernel_gettimeofday) + brk #0 /* LINUXTODO: implement __kernel_gettimeofday */ + ret + +ENTRY(__kernel_clock_gettime) + brk #0 /* LINUXTODO: implement __kernel_clock_gettime */ + ret + +ENTRY(__kernel_clock_getres) + brk #0 /* LINUXTODO: implement __kernel_clock_getres */ + ret Modified: projects/fuse2/sys/conf/files ============================================================================== --- projects/fuse2/sys/conf/files Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/conf/files Tue Jul 30 19:42:46 2019 (r350454) @@ -3814,7 +3814,6 @@ kern/subr_firmware.c optional firmware kern/subr_gtaskqueue.c standard kern/subr_hash.c standard kern/subr_hints.c standard -kern/subr_inflate.c optional gzip kern/subr_kdb.c standard kern/subr_kobj.c standard kern/subr_lock.c standard Modified: projects/fuse2/sys/conf/files.amd64 ============================================================================== --- projects/fuse2/sys/conf/files.amd64 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/conf/files.amd64 Tue Jul 30 19:42:46 2019 (r350454) @@ -45,7 +45,7 @@ linux32_assym.h optional compat_linux32 \ clean "linux32_assym.h" # linux32_locore.o optional compat_linux32 \ - dependency "linux32_assym.h $S/amd64/linux32/linux32_locore.s" \ + dependency "linux32_assym.h $S/amd64/linux32/linux32_locore.asm" \ compile-with "${CC} -x assembler-with-cpp -DLOCORE -m32 -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/amd64/linux32/linux32_vdso.lds.s -Wl,-soname=linux32_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \ no-obj no-implicit-rule \ clean "linux32_locore.o" @@ -633,7 +633,6 @@ isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/kern_clocksource.c standard kern/imgact_aout.c optional compat_aout -kern/imgact_gzip.c optional gzip kern/link_elf_obj.c standard libkern/x86/crc32_sse42.c standard # Modified: projects/fuse2/sys/conf/files.arm64 ============================================================================== --- projects/fuse2/sys/conf/files.arm64 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/conf/files.arm64 Tue Jul 30 19:42:46 2019 (r350454) @@ -221,6 +221,7 @@ dev/hwpmc/hwpmc_arm64.c optional hwpmc dev/hwpmc/hwpmc_arm64_md.c optional hwpmc dev/mbox/mbox_if.m optional soc_brcm_bcm2837 dev/mmc/host/dwmmc.c optional dwmmc fdt +dev/mmc/host/dwmmc_altera.c optional dwmmc fdt dwmmc_altera dev/mmc/host/dwmmc_hisi.c optional dwmmc fdt soc_hisi_hi6220 dev/mmc/host/dwmmc_rockchip.c optional dwmmc fdt soc_rockchip_rk3328 dev/neta/if_mvneta_fdt.c optional neta fdt Modified: projects/fuse2/sys/conf/files.i386 ============================================================================== --- projects/fuse2/sys/conf/files.i386 Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/conf/files.i386 Tue Jul 30 19:42:46 2019 (r350454) @@ -32,7 +32,7 @@ linux_assym.h optional compat_linux \ clean "linux_assym.h" # linux_locore.o optional compat_linux \ - dependency "linux_assym.h $S/i386/linux/linux_locore.s" \ + dependency "linux_assym.h $S/i386/linux/linux_locore.asm" \ compile-with "${CC} -x assembler-with-cpp -DLOCORE -shared -s -pipe -I. -I$S -Werror -Wall -fPIC -fno-common -nostdinc -nostdlib -Wl,-T$S/i386/linux/linux_vdso.lds.s -Wl,-soname=linux_vdso.so,--eh-frame-hdr,-warn-common ${.IMPSRC} -o ${.TARGET}" \ no-obj no-implicit-rule \ clean "linux_locore.o" @@ -529,7 +529,6 @@ isa/syscons_isa.c optional sc isa/vga_isa.c optional vga kern/kern_clocksource.c standard kern/imgact_aout.c optional compat_aout -kern/imgact_gzip.c optional gzip kern/subr_sfbuf.c standard libkern/divdi3.c standard libkern/ffsll.c standard Modified: projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c ============================================================================== --- projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/dev/mmc/host/dwmmc_altera.c Tue Jul 30 19:42:46 2019 (r350454) @@ -41,6 +41,8 @@ __FBSDID("$FreeBSD$"); #include +#include "opt_mmccam.h" + static struct ofw_compat_data compat_data[] = { {"altr,socfpga-dw-mshc", 1}, {NULL, 0}, @@ -66,9 +68,17 @@ static int altera_dwmmc_attach(device_t dev) { struct dwmmc_softc *sc; + phandle_t root; sc = device_get_softc(dev); sc->hwtype = HWTYPE_ALTERA; + + root = OF_finddevice("/"); + + if (ofw_bus_node_is_compatible(root, "altr,socfpga-stratix10")) { + sc->bus_hz = 24000000; + sc->use_pio = 1; + } return (dwmmc_attach(dev)); } Modified: projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c ============================================================================== --- projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/dev/sound/pci/hda/hdaa_patches.c Tue Jul 30 19:42:46 2019 (r350454) @@ -425,12 +425,21 @@ hdac_pin_patch(struct hdaa_widget *w) } else if (id == HDA_CODEC_ALC298 && subid == DELL_XPS9560_SUBVENDOR) { switch (nid) { case 24: - config = 0x01a1913c; + config = 0x01a1913c; break; case 26: - config = 0x01a1913d; + config = 0x01a1913d; break; } + } else if (id == HDA_CODEC_ALC256 && subid == DELL_I7577_SUBVENDOR ) { + switch (nid) { + case 20: + patch = "as=1 seq=0"; + break; + case 33: + patch = "as=1 seq=15"; + break; + } } if (patch != NULL) @@ -768,6 +777,10 @@ hdaa_patch_direct(struct hdaa_devinfo *devinfo) hdaa_write_coef(dev, 0x20, 0x07, 0x7cb); } break; + } + if (id == HDA_CODEC_ALC255 || id == HDA_CODEC_ALC256) { + val = hdaa_read_coef(dev, 0x20, 0x46); + hdaa_write_coef(dev, 0x20, 0x46, val|0x3000); } if (subid == APPLE_INTEL_MAC) hda_command(dev, HDA_CMD_12BIT(0, devinfo->nid, Modified: projects/fuse2/sys/dev/sound/pci/hda/hdac.h ============================================================================== --- projects/fuse2/sys/dev/sound/pci/hda/hdac.h Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/dev/sound/pci/hda/hdac.h Tue Jul 30 19:42:46 2019 (r350454) @@ -203,6 +203,7 @@ #define DELL_XPSM1210_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01d7) #define DELL_OPLX745_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x01da) #define DELL_XPS9560_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x07be) +#define DELL_I7577_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0x0802) #define DELL_ALL_SUBVENDOR HDA_MODEL_CONSTRUCT(DELL, 0xffff) /* Clevo */ Modified: projects/fuse2/sys/i386/conf/NOTES ============================================================================== --- projects/fuse2/sys/i386/conf/NOTES Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/i386/conf/NOTES Tue Jul 30 19:42:46 2019 (r350454) @@ -275,7 +275,6 @@ device nvram # Access to rtc cmos via /dev/nvram device speaker #Play IBM BASIC-style noises out your speaker hint.speaker.0.at="isa" hint.speaker.0.port="0x61" -device gzip #Exec gzipped a.out's. REQUIRES COMPAT_AOUT! device apm_saver # Requires APM Copied: projects/fuse2/sys/i386/linux/linux_locore.asm (from r350453, head/sys/i386/linux/linux_locore.asm) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/fuse2/sys/i386/linux/linux_locore.asm Tue Jul 30 19:42:46 2019 (r350454, copy of r350453, head/sys/i386/linux/linux_locore.asm) @@ -0,0 +1,149 @@ +/* $FreeBSD$ */ + +#include "linux_assym.h" /* system definitions */ +#include /* miscellaneous asm macros */ + +#include /* system call numbers */ + +#include "assym.inc" + +/* + * To avoid excess stack frame the signal trampoline code emulates + * the 'call' instruction. + */ +NON_GPROF_ENTRY(linux_sigcode) + movl %esp, %ebx /* preserve sigframe */ + call .getip0 +.getip0: + popl %eax + add $.startsigcode-.getip0, %eax /* ret address */ + push %eax + jmp *LINUX_SIGF_HANDLER(%ebx) +.startsigcode: + popl %eax /* gcc unwind code need this */ + movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ + int $0x80 /* enter kernel with args */ +.endsigcode: +0: jmp 0b + +NON_GPROF_ENTRY(linux_rt_sigcode) + leal LINUX_RT_SIGF_UC(%esp),%ebx /* linux ucp */ + leal LINUX_RT_SIGF_SC(%ebx),%ecx /* linux sigcontext */ + movl %esp, %edi + call .getip1 +.getip1: + popl %eax + add $.startrtsigcode-.getip1, %eax /* ret address */ + push %eax + jmp *LINUX_RT_SIGF_HANDLER(%edi) +.startrtsigcode: + movl $LINUX_SYS_linux_rt_sigreturn,%eax /* linux_rt_sigreturn() */ + int $0x80 /* enter kernel with args */ +.endrtsigcode: +0: jmp 0b + +NON_GPROF_ENTRY(linux_vsyscall) +.startvsyscall: + int $0x80 + ret +.endvsyscall: + +#if 0 + .section .note.Linux, "a",@note + .long 2f - 1f /* namesz */ + .balign 4 + .long 4f - 3f /* descsz */ + .long 0 +1: + .asciz "Linux" +2: + .balign 4 +3: + .long LINUX_VERSION_CODE +4: + .balign 4 + .previous +#endif + +#define do_cfa_expr(offset) \ + .byte 0x0f; /* DW_CFA_def_cfa_expression */ \ + .uleb128 11f-10f; /* length */ \ +10: .byte 0x74; /* DW_OP_breg4 */ \ + .sleb128 offset; /* offset */ \ + .byte 0x06; /* DW_OP_deref */ \ +11: + + + /* CIE */ + .section .eh_frame,"a",@progbits +.LSTARTFRAMEDLSI1: + .long .LENDCIEDLSI1-.LSTARTCIEDLSI1 +.LSTARTCIEDLSI1: + .long 0 /* CIE ID */ + .byte 1 /* Version number */ + .string "zRS" /* NULL-terminated + * augmentation string + */ + .uleb128 1 /* Code alignment factor */ + .sleb128 -4 /* Data alignment factor */ + .byte 8 /* Return address + * register column + */ + .uleb128 1 /* Augmentation value length */ + .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ + .byte 0 /* DW_CFA_nop */ + .align 4 +.LENDCIEDLSI1: + + /* FDE */ + .long .LENDFDEDLSI1-.LSTARTFDEDLSI1 /* Length FDE */ +.LSTARTFDEDLSI1: + .long .LSTARTFDEDLSI1-.LSTARTFRAMEDLSI1 /* CIE pointer */ + .long .startsigcode-. /* PC-relative start address */ + .long .endsigcode-.startsigcode + .uleb128 0 /* Augmentation */ + do_cfa_expr(LINUX_SIGF_SC-8) + .align 4 +.LENDFDEDLSI1: + + .long .LENDFDEDLSI2-.LSTARTFDEDLSI2 /* Length FDE */ +.LSTARTFDEDLSI2: + .long .LSTARTFDEDLSI2-.LSTARTFRAMEDLSI1 /* CIE pointer */ + .long .startrtsigcode-. /* PC-relative start address */ + .long .endrtsigcode-.startrtsigcode + .uleb128 0 /* Augmentation */ + do_cfa_expr(LINUX_RT_SIGF_SC-4+LINUX_SC_ESP) + .align 4 +.LENDFDEDLSI2: + .previous + + .section .eh_frame,"a",@progbits +.LSTARTFRAMEDLSI2: + .long .LENDCIEDLSI2-.LSTARTCIEDLSI2 +.LSTARTCIEDLSI2: + .long 0 /* CIE ID */ + .byte 1 /* Version number */ + .string "zR" /* NULL-terminated + * augmentation string + */ + .uleb128 1 /* Code alignment factor */ + .sleb128 -4 /* Data alignment factor */ + .byte 8 /* Return address register column */ + .uleb128 1 /* Augmentation value length */ + .byte 0x1b /* DW_EH_PE_pcrel|DW_EH_PE_sdata4. */ + .byte 0x0c /* DW_CFA_def_cfa */ + .uleb128 4 + .uleb128 4 + .byte 0x88 /* DW_CFA_offset, column 0x8 */ + .uleb128 1 + .align 4 +.LENDCIEDLSI2: + .long .LENDFDEDLSI3-.LSTARTFDEDLSI3 /* Length FDE */ +.LSTARTFDEDLSI3: + .long .LSTARTFDEDLSI3-.LSTARTFRAMEDLSI2 /* CIE pointer */ + .long .startvsyscall-. /* PC-relative start address */ + .long .endvsyscall-.startvsyscall + .uleb128 0 + .align 4 +.LENDFDEDLSI3: + .previous Modified: projects/fuse2/sys/kern/capabilities.conf ============================================================================== --- projects/fuse2/sys/kern/capabilities.conf Tue Jul 30 19:34:39 2019 (r350453) +++ projects/fuse2/sys/kern/capabilities.conf Tue Jul 30 19:42:46 2019 (r350454) @@ -133,6 +133,11 @@ closefrom connectat *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***