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...
Alan Somers
asomers at FreeBSD.org
Tue Jul 30 19:42:52 UTC 2019
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 <oshogbo at FreeBSD.org>
+.\"
+.\" 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 at FreeBSD.org .
+This manual page was written by
+.An Mariusz Zaborski Aq Mt oshogbo at 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 <machine/asmacros.h> /* miscellaneous asm macros */
+
+#include <amd64/linux/linux_syscall.h> /* 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", at 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", at 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 <machine/asmacros.h> /* miscellaneous asm macros */
+
+#include <amd64/linux32/linux32_syscall.h> /* 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", at 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", at 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", at 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 <machine/asm.h>
+
+ .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 <dev/mmc/host/dwmmc_var.h>
+#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 <machine/asmacros.h> /* miscellaneous asm macros */
+
+#include <i386/linux/linux_syscall.h> /* 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", at 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", at 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", at 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 ***
More information about the svn-src-projects
mailing list