CVS commit: src/external/mit/xorg/lib/gallium
Module Name:src Committed By: mrg Date: Sun Jun 9 01:56:49 UTC 2019 Modified Files: src/external/mit/xorg/lib/gallium: Makefile Log Message: add ARMDisassembler for the arm section. fixes linkage issue. unfortunately, this doesn't work. something generates code with an R_ARM_REL32 relocation and the llvm::RuntimeDyldELF::resolveARMRelocation() function doesn not support this and boom: 500 switch (Type) { 501 default: 502 llvm_unreachable("Not implemented relocation type!"); To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/external/mit/xorg/lib/gallium/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/mit/xorg/lib/gallium/Makefile diff -u src/external/mit/xorg/lib/gallium/Makefile:1.31 src/external/mit/xorg/lib/gallium/Makefile:1.32 --- src/external/mit/xorg/lib/gallium/Makefile:1.31 Fri Jun 7 12:11:43 2019 +++ src/external/mit/xorg/lib/gallium/Makefile Sun Jun 9 01:56:49 2019 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.31 2019/06/07 12:11:43 mrg Exp $ +# $NetBSD: Makefile,v 1.32 2019/06/09 01:56:49 mrg Exp $ # Link the gallium mega driver. @@ -1013,6 +1013,7 @@ LLVMRT_LIBS+= \ # XXX duplicates LLVMRT_LIBS+= \ ARMCodeGen \ + ARMDisassembler \ ARMTargetInfo \ ARMMCTargetDesc \ ARMAsmParser \
CVS commit: src/external/mit/xorg/lib/gallium
Module Name:src Committed By: mrg Date: Sun Jun 9 01:56:49 UTC 2019 Modified Files: src/external/mit/xorg/lib/gallium: Makefile Log Message: add ARMDisassembler for the arm section. fixes linkage issue. unfortunately, this doesn't work. something generates code with an R_ARM_REL32 relocation and the llvm::RuntimeDyldELF::resolveARMRelocation() function doesn not support this and boom: 500 switch (Type) { 501 default: 502 llvm_unreachable("Not implemented relocation type!"); To generate a diff of this commit: cvs rdiff -u -r1.31 -r1.32 src/external/mit/xorg/lib/gallium/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/uvm
Module Name:src Committed By: chs Date: Sat Jun 8 23:48:33 UTC 2019 Modified Files: src/sys/uvm: uvm_map.c Log Message: in uvm_map_protect(), do a pmap_update() before possibly switching from removing pmap entries to creating them. this fixes the problem reported in https://syzkaller.appspot.com/bug?id=cc89e47f05e4eea2fd69bcccb5e837f8d1ab4d60 To generate a diff of this commit: cvs rdiff -u -r1.359 -r1.360 src/sys/uvm/uvm_map.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/uvm/uvm_map.c diff -u src/sys/uvm/uvm_map.c:1.359 src/sys/uvm/uvm_map.c:1.360 --- src/sys/uvm/uvm_map.c:1.359 Thu Mar 14 19:10:04 2019 +++ src/sys/uvm/uvm_map.c Sat Jun 8 23:48:33 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: uvm_map.c,v 1.359 2019/03/14 19:10:04 kre Exp $ */ +/* $NetBSD: uvm_map.c,v 1.360 2019/06/08 23:48:33 chs Exp $ */ /* * Copyright (c) 1997 Charles D. Cranor and Washington University. @@ -66,7 +66,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.359 2019/03/14 19:10:04 kre Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uvm_map.c,v 1.360 2019/06/08 23:48:33 chs Exp $"); #include "opt_ddb.h" #include "opt_pax.h" @@ -3127,6 +3127,17 @@ uvm_map_protect(struct vm_map *map, vadd VM_MAPENT_ISWIRED(current) == 0 && old_prot == VM_PROT_NONE && new_prot != VM_PROT_NONE) { + + /* + * We must call pmap_update() here because the + * pmap_protect() call above might have removed some + * pmap entries and uvm_map_pageable() might create + * some new pmap entries that rely on the prior + * removals being completely finished. + */ + + pmap_update(map->pmap); + if (uvm_map_pageable(map, current->start, current->end, false, UVM_LK_ENTER|UVM_LK_EXIT) != 0) {
CVS commit: src/sys/uvm
Module Name:src Committed By: chs Date: Sat Jun 8 23:48:33 UTC 2019 Modified Files: src/sys/uvm: uvm_map.c Log Message: in uvm_map_protect(), do a pmap_update() before possibly switching from removing pmap entries to creating them. this fixes the problem reported in https://syzkaller.appspot.com/bug?id=cc89e47f05e4eea2fd69bcccb5e837f8d1ab4d60 To generate a diff of this commit: cvs rdiff -u -r1.359 -r1.360 src/sys/uvm/uvm_map.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/netinet
Module Name:src Committed By: rjs Date: Sat Jun 8 23:23:34 UTC 2019 Modified Files: src/sys/netinet: sctp_asconf.h sctp_pcb.h Log Message: Don't need 'extern' for function prototypes. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_asconf.h cvs rdiff -u -r1.1 -r1.2 src/sys/netinet/sctp_pcb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/netinet/sctp_asconf.h diff -u src/sys/netinet/sctp_asconf.h:1.2 src/sys/netinet/sctp_asconf.h:1.3 --- src/sys/netinet/sctp_asconf.h:1.2 Sun Feb 24 17:01:52 2019 +++ src/sys/netinet/sctp_asconf.h Sat Jun 8 23:23:34 2019 @@ -1,5 +1,5 @@ /* $KAME: sctp_asconf.h,v 1.8 2005/03/06 16:04:16 itojun Exp $ */ -/* $NetBSD: sctp_asconf.h,v 1.2 2019/02/24 17:01:52 kamil Exp $ */ +/* $NetBSD: sctp_asconf.h,v 1.3 2019/06/08 23:23:34 rjs Exp $ */ #ifndef _NETINET_SCTP_ASCONF_H_ #define _NETINET_SCTP_ASCONF_H_ @@ -43,29 +43,29 @@ struct sockaddr; struct sctp_inpcb; struct sctp_asconf_ack_chunk; -extern void sctp_asconf_cleanup(struct sctp_tcb *, struct sctp_nets *); +void sctp_asconf_cleanup(struct sctp_tcb *, struct sctp_nets *); -extern struct mbuf *sctp_compose_asconf(struct sctp_tcb *); +struct mbuf *sctp_compose_asconf(struct sctp_tcb *); -extern void sctp_handle_asconf(struct mbuf *, unsigned int, struct sctp_asconf_chunk *, +void sctp_handle_asconf(struct mbuf *, unsigned int, struct sctp_asconf_chunk *, struct sctp_tcb *, struct sctp_nets *); -extern void sctp_handle_asconf_ack(struct mbuf *, int, +void sctp_handle_asconf_ack(struct mbuf *, int, struct sctp_asconf_ack_chunk *, struct sctp_tcb *, struct sctp_nets *); -extern uint32_t sctp_addr_mgmt_ep_sa(struct sctp_inpcb *, struct sockaddr *, +uint32_t sctp_addr_mgmt_ep_sa(struct sctp_inpcb *, struct sockaddr *, uint16_t); -extern void sctp_add_ip_address(struct ifaddr *); +void sctp_add_ip_address(struct ifaddr *); -extern void sctp_delete_ip_address(struct ifaddr *); +void sctp_delete_ip_address(struct ifaddr *); -extern int32_t sctp_set_primary_ip_address_sa(struct sctp_tcb *, +int32_t sctp_set_primary_ip_address_sa(struct sctp_tcb *, struct sockaddr *); -extern void sctp_set_primary_ip_address(struct ifaddr *); +void sctp_set_primary_ip_address(struct ifaddr *); -extern void sctp_check_address_list(struct sctp_tcb *, struct mbuf *, int, int, +void sctp_check_address_list(struct sctp_tcb *, struct mbuf *, int, int, struct sockaddr *, uint16_t, uint16_t, uint16_t, uint16_t); #endif /* _KERNEL */ Index: src/sys/netinet/sctp_pcb.h diff -u src/sys/netinet/sctp_pcb.h:1.1 src/sys/netinet/sctp_pcb.h:1.2 --- src/sys/netinet/sctp_pcb.h:1.1 Tue Oct 13 21:28:35 2015 +++ src/sys/netinet/sctp_pcb.h Sat Jun 8 23:23:34 2019 @@ -1,5 +1,5 @@ /* $KAME: sctp_pcb.h,v 1.21 2005/07/16 01:18:47 suz Exp $ */ -/* $NetBSD: sctp_pcb.h,v 1.1 2015/10/13 21:28:35 rjs Exp $ */ +/* $NetBSD: sctp_pcb.h,v 1.2 2019/06/08 23:23:34 rjs Exp $ */ #ifndef __SCTP_PCB_H__ #define __SCTP_PCB_H__ @@ -754,7 +754,7 @@ int sctp_initiate_iterator(asoc_func af, uint32_t, uint32_t, void *, uint32_t, end_func ef, struct sctp_inpcb *); -extern void in6_sin6_2_sin (struct sockaddr_in *, +void in6_sin6_2_sin (struct sockaddr_in *, struct sockaddr_in6 *sin6); #endif /* _KERNEL */
CVS commit: src/sys/netinet
Module Name:src Committed By: rjs Date: Sat Jun 8 23:23:34 UTC 2019 Modified Files: src/sys/netinet: sctp_asconf.h sctp_pcb.h Log Message: Don't need 'extern' for function prototypes. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/sys/netinet/sctp_asconf.h cvs rdiff -u -r1.1 -r1.2 src/sys/netinet/sctp_pcb.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/gpl3/gdb/dist/gdb
Module Name:src Committed By: mrg Date: Sat Jun 8 14:59:01 UTC 2019 Modified Files: src/external/gpl3/gdb/dist/gdb: aarch64-nbsd-nat.c Log Message: make this compile. now arm64 gdb works again. yay. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/gpl3/gdb/dist/gdb
Module Name:src Committed By: mrg Date: Sat Jun 8 14:59:01 UTC 2019 Modified Files: src/external/gpl3/gdb/dist/gdb: aarch64-nbsd-nat.c Log Message: make this compile. now arm64 gdb works again. yay. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c diff -u src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c:1.4 src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c:1.5 --- src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c:1.4 Thu May 30 01:19:36 2019 +++ src/external/gpl3/gdb/dist/gdb/aarch64-nbsd-nat.c Sat Jun 8 14:59:01 2019 @@ -59,7 +59,7 @@ getfpregs_supplies (struct gdbarch *gdba } void -aarch64_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regno) +aarch64_nbsd_nat_target::fetch_registers (struct regcache *regcache, int regnum) { ptid_t ptid = regcache->ptid (); pid_t pid = ptid.pid (); @@ -93,7 +93,7 @@ aarch64_nbsd_nat_target::fetch_registers this for all registers. */ void -aarch64_nbsd_nat_target::store_registers (struct regcache *regcache, int regno) +aarch64_nbsd_nat_target::store_registers (struct regcache *regcache, int regnum) { ptid_t ptid = regcache->ptid (); pid_t pid = ptid.pid (); @@ -110,7 +110,7 @@ aarch64_nbsd_nat_target::store_registers regcache_collect_regset (&aarch64_nbsd_gregset, regcache,regnum, ®s, sizeof (regs)); - if (ptrace (PT_SETREGS, pid, (PTRACE_TYPE_ARG3) ®s, tid) == -1) + if (ptrace (PT_SETREGS, pid, (PTRACE_TYPE_ARG3) ®s, lwp) == -1) perror_with_name (_("Couldn't write registers")); } @@ -118,13 +118,13 @@ aarch64_nbsd_nat_target::store_registers { struct fpreg fpregs; - if (ptrace (PT_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, tid) == -1) + if (ptrace (PT_GETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, lwp) == -1) perror_with_name (_("Couldn't get floating point status")); regcache_collect_regset (&aarch64_nbsd_fpregset, regcache,regnum, &fpregs, sizeof (fpregs)); - if (ptrace (PT_SETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, tid) == -1) + if (ptrace (PT_SETFPREGS, pid, (PTRACE_TYPE_ARG3) &fpregs, lwp) == -1) perror_with_name (_("Couldn't write floating point status")); } }
CVS commit: src/share/misc
Module Name:src Committed By: pgoyette Date: Sat Jun 8 13:13:01 UTC 2019 Modified Files: src/share/misc: acronyms.comp Log Message: Add MAMR To generate a diff of this commit: cvs rdiff -u -r1.262 -r1.263 src/share/misc/acronyms.comp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/share/misc/acronyms.comp diff -u src/share/misc/acronyms.comp:1.262 src/share/misc/acronyms.comp:1.263 --- src/share/misc/acronyms.comp:1.262 Fri Jun 7 11:41:44 2019 +++ src/share/misc/acronyms.comp Sat Jun 8 13:13:01 2019 @@ -1,4 +1,4 @@ -$NetBSD: acronyms.comp,v 1.262 2019/06/07 11:41:44 sevan Exp $ +$NetBSD: acronyms.comp,v 1.263 2019/06/08 13:13:01 pgoyette Exp $ 3WHS three-way handshake 8VSB 8-state vestigial side band modulation AA anti-aliasing @@ -853,6 +853,7 @@ MAC mandatory access control MAC {media,medium} access control MAC message authentication {check,code} MADT multiple APIC descriptor table +MAMR microwave-assisted magnetic recording MB megabyte MBA multi-boot agent MBR master boot record
CVS commit: src/share/misc
Module Name:src Committed By: pgoyette Date: Sat Jun 8 13:13:01 UTC 2019 Modified Files: src/share/misc: acronyms.comp Log Message: Add MAMR To generate a diff of this commit: cvs rdiff -u -r1.262 -r1.263 src/share/misc/acronyms.comp Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/external/gpl3/gdb
Module Name:src Committed By: christos Date: Sat Jun 8 12:47:44 UTC 2019 Modified Files: src/external/gpl3/gdb/dist/gdb: configure.nat src/external/gpl3/gdb/lib/libgdb/arch/aarch64: defs.mk init.c Log Message: add a section for arch64-nbsd and regen. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gdb/dist/gdb/configure.nat cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk \ src/external/gpl3/gdb/lib/libgdb/arch/aarch64/init.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/external/gpl3/gdb/dist/gdb/configure.nat diff -u src/external/gpl3/gdb/dist/gdb/configure.nat:1.2 src/external/gpl3/gdb/dist/gdb/configure.nat:1.3 --- src/external/gpl3/gdb/dist/gdb/configure.nat:1.2 Wed May 29 18:07:47 2019 +++ src/external/gpl3/gdb/dist/gdb/configure.nat Sat Jun 8 08:47:43 2019 @@ -332,6 +332,10 @@ case ${gdb_host} in NATDEPFILES="${NATDEPFILES} nbsd-nat.o bsd-kvm.o" LOADLIBES='-lkvm' case ${gdb_host_cpu} in + aarch64) + # Host: NetBSD/aarch64 + NATDEPFILES="${NATDEPFILES} aarch64-nbsd-nat.o" + ;; alpha) # Host: NetBSD/alpha NATDEPFILES="${NATDEPFILES} alpha-bsd-nat.o" Index: src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk diff -u src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk:1.2 src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk:1.3 --- src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk:1.2 Thu May 30 09:43:03 2019 +++ src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk Sat Jun 8 08:47:44 2019 @@ -3,5 +3,5 @@ # Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp # G_INTERNAL_CFLAGS= -I. -I${GNUHOSTDIST}/gdb -I${GNUHOSTDIST}/gdb/config -DLOCALEDIR=\"/usr/share/locale\" -DHAVE_CONFIG_H -I${GNUHOSTDIST}/gdb/../include/opcode -I${GNUHOSTDIST}/gdb/../readline/.. -I${GNUHOSTDIST}/gdb/../zlib -I../bfd -I${GNUHOSTDIST}/gdb/../bfd -I${GNUHOSTDIST}/gdb/../include -I../libdecnumber -I${GNUHOSTDIST}/gdb/../libdecnumber -I./../intl -I${GNUHOSTDIST}/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-variable -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wunused-but-set-parameter -Wunused-but-set-variable -Wno-sign-compare -Wno-error=maybe-uninitialized -Wsuggest-override -Wimplicit-fallthrough=3 -Wduplicated-cond -Wshadow=local -Wformat -Wformat-nonliteral -G_LIBGDB_OBS=aarch64-nbsd-tdep.o aarch64-ravenscar-thread.o aarch64-tdep.o ada-exp.o ada-lang.o ada-tasks.o ada-typeprint.o ada-valprint.o ada-varobj.o addrmap.o agent.o annotate.o arch-utils.o aarch64-insn.o aarch64.o auto-load.o auxv.o ax-gdb.o ax-general.o bcache.o bfd-target.o block.o blockframe.o break-catch-sig.o break-catch-syscall.o break-catch-throw.o breakpoint.o bsd-kvm.o btrace.o build-id.o buildsym-legacy.o buildsym.o c-exp.o c-lang.o c-typeprint.o c-valprint.o c-varobj.o charset.o cli-out.o cli-cmds.o cli-decode.o cli-dump.o cli-interp.o cli-logging.o cli-script.o cli-setshow.o cli-style.o cli-utils.o coff-pe-read.o coffread.o common-agent.o btrace-common.o buffer.o cleanups.o common-debug.o common-exceptions.o common-regcache.o common-utils.o environ.o errors.o fileio.o filestuff.o format.o gdb_tilde_expand.o gdb_vecs.o job-control.o netstuff.o new-op.o pathstuff.o posix-strerror.o print-utils.o ptid.o rsp-low.o run-time-clock.o scoped_mmap.o signals-state-save-restor e.o signals.o tdesc.o vec.o xml-utils.o compile-c-support.o compile-c-symbols.o compile-c-types.o compile-cplus-symbols.o compile-cplus-types.o compile-loc2c.o compile-object-load.o compile-object-run.o compile.o complaints.o completer.o continuations.o copying.o corefile.o corelow.o cp-abi.o cp-name-parser.o cp-namespace.o cp-support.o cp-valprint.o ctf.o d-exp.o d-lang.o d-namespace.o d-valprint.o dbxread.o dcache.o debug.o demangle.o dictionary.o disasm-selftests.o disasm.o dtrace-probe.o dummy-frame.o dwarf-index-cache.o dwarf-index-common.o dwarf-index-write.o dwarf2-frame-tailcall.o dwarf2-frame.o dwarf2expr.o dwarf2loc.o dwarf2read.o elfread.o eval.o event-loop.o event-top.o exceptions.o exec.o expprint.o extension.o f-exp.o f-lang.o f-typeprint.o f-valprint.o filename-seen-cache.o filesystem.o findcmd.o findvar.o fork-child.o frame-base.o frame-unwind.o frame.o gcore.o gdb-dlfcn.o gdb_bfd.o gdb_obstack.o gdb_regex.o gdb_usleep.o gdbarch-selftests.o gdbarch.o gdbtypes.o gnu-v 2-abi.o gnu-v3-abi.o go-exp.o go-lang.o go-typeprint.o go-valprint.o guile.o inf-child.o inf-loop.o inf-ptrace.o infcall.o infcmd.o inferior.o inflow.o infrun.o inline-frame.o interps.o jit.o language.o linespec.o location.o m2-exp.o m2-lang.o m2-typeprint.o m2-valprint.o macrocmd.o macroexp.o macroscope.o macrotab.o main.o maint.o mdebugread.o mem-break.o memattr.o memory-map.o memrange.o mi-cmd-break.o mi-cmd-catch.o mi-cmd-disas.o mi-cmd-env.o mi-cmd-file.o mi
CVS commit: src/external/gpl3/gdb
Module Name:src Committed By: christos Date: Sat Jun 8 12:47:44 UTC 2019 Modified Files: src/external/gpl3/gdb/dist/gdb: configure.nat src/external/gpl3/gdb/lib/libgdb/arch/aarch64: defs.mk init.c Log Message: add a section for arch64-nbsd and regen. To generate a diff of this commit: cvs rdiff -u -r1.2 -r1.3 src/external/gpl3/gdb/dist/gdb/configure.nat cvs rdiff -u -r1.2 -r1.3 \ src/external/gpl3/gdb/lib/libgdb/arch/aarch64/defs.mk \ src/external/gpl3/gdb/lib/libgdb/arch/aarch64/init.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: skrll Date: Sat Jun 8 11:57:27 UTC 2019 Modified Files: src/sys/arch/arm/arm32: bus_dma.c Log Message: Fix comment To generate a diff of this commit: cvs rdiff -u -r1.113 -r1.114 src/sys/arch/arm/arm32/bus_dma.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/arm/arm32/bus_dma.c diff -u src/sys/arch/arm/arm32/bus_dma.c:1.113 src/sys/arch/arm/arm32/bus_dma.c:1.114 --- src/sys/arch/arm/arm32/bus_dma.c:1.113 Fri Sep 14 10:13:02 2018 +++ src/sys/arch/arm/arm32/bus_dma.c Sat Jun 8 11:57:27 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: bus_dma.c,v 1.113 2018/09/14 10:13:02 skrll Exp $ */ +/* $NetBSD: bus_dma.c,v 1.114 2019/06/08 11:57:27 skrll Exp $ */ /*- * Copyright (c) 1996, 1997, 1998 The NetBSD Foundation, Inc. @@ -36,7 +36,7 @@ #include "opt_cputypes.h" #include -__KERNEL_RCSID(0, "$NetBSD: bus_dma.c,v 1.113 2018/09/14 10:13:02 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: bus_dma.c,v 1.114 2019/06/08 11:57:27 skrll Exp $"); #include #include @@ -1022,9 +1022,6 @@ _bus_dmamap_sync_uio(bus_dma_tag_t t, bu * Common function for DMA map synchronization. May be called * by bus-specific DMA map synchronization functions. * - * This version works for the Virtually Indexed Virtually Tagged - * cache found on 32-bit ARM processors. - * * XXX Should have separate versions for write-through vs. * XXX write-back caches. We currently assume write-back * XXX here, which is not as efficient as it could be for
CVS commit: src/sys/arch/arm/arm32
Module Name:src Committed By: skrll Date: Sat Jun 8 11:57:27 UTC 2019 Modified Files: src/sys/arch/arm/arm32: bus_dma.c Log Message: Fix comment To generate a diff of this commit: cvs rdiff -u -r1.113 -r1.114 src/sys/arch/arm/arm32/bus_dma.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys/dev/audio
Module Name:src Committed By: isaki Date: Sat Jun 8 08:20:11 UTC 2019 Modified Files: src/sys/dev/audio: audio.c Log Message: Improve checking and displaying property. - Full/half duplex and independentness are valid only on bidirectional device. - MMAP is no longer hardware driver's property. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/dev/audio/audio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/audio/audio.c diff -u src/sys/dev/audio/audio.c:1.12 src/sys/dev/audio/audio.c:1.13 --- src/sys/dev/audio/audio.c:1.12 Sat Jun 8 08:02:37 2019 +++ src/sys/dev/audio/audio.c Sat Jun 8 08:20:10 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: audio.c,v 1.12 2019/06/08 08:02:37 isaki Exp $ */ +/* $NetBSD: audio.c,v 1.13 2019/06/08 08:20:10 isaki Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -142,7 +142,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.12 2019/06/08 08:02:37 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: audio.c,v 1.13 2019/06/08 08:20:10 isaki Exp $"); #ifdef _KERNEL_OPT #include "audio.h" @@ -838,7 +838,10 @@ audioattach(device_t parent, device_t se audio_filter_reg_t rfil; const struct sysctlnode *node; void *hdlp; - bool is_indep; + bool has_playback; + bool has_capture; + bool has_indep; + bool has_fulldup; int mode; int props; int error; @@ -884,38 +887,47 @@ audioattach(device_t parent, device_t se props = audio_get_props(sc); mutex_exit(sc->sc_lock); - if ((props & AUDIO_PROP_FULLDUPLEX)) - aprint_normal(": full duplex"); - else - aprint_normal(": half duplex"); + has_playback = (props & AUDIO_PROP_PLAYBACK); + has_capture = (props & AUDIO_PROP_CAPTURE); + has_indep= (props & AUDIO_PROP_INDEPENDENT); + has_fulldup = (props & AUDIO_PROP_FULLDUPLEX); + + KASSERT(has_playback || has_capture); + /* Unidirectional device must have neither FULLDUP nor INDEPENDENT. */ + if (!has_playback || !has_capture) { + KASSERT(!has_indep); + KASSERT(!has_fulldup); + } - is_indep = (props & AUDIO_PROP_INDEPENDENT); mode = 0; - if ((props & AUDIO_PROP_PLAYBACK)) { + if (has_playback) { + aprint_normal(": playback"); mode |= AUMODE_PLAY; - aprint_normal(", playback"); } - if ((props & AUDIO_PROP_CAPTURE)) { + if (has_capture) { + aprint_normal("%c capture", has_playback ? ',' : ':'); mode |= AUMODE_RECORD; - aprint_normal(", capture"); } - if ((props & AUDIO_PROP_MMAP) != 0) - aprint_normal(", mmap"); - if (is_indep) - aprint_normal(", independent"); + if (has_playback && has_capture) { + if (has_fulldup) + aprint_normal(", full duplex"); + else + aprint_normal(", half duplex"); + + if (has_indep) + aprint_normal(", independent"); + } aprint_naive("\n"); aprint_normal("\n"); - KASSERT((mode & (AUMODE_PLAY | AUMODE_RECORD)) != 0); - /* probe hw params */ memset(&phwfmt, 0, sizeof(phwfmt)); memset(&rhwfmt, 0, sizeof(rhwfmt)); memset(&pfil, 0, sizeof(pfil)); memset(&rfil, 0, sizeof(rfil)); mutex_enter(sc->sc_lock); - error = audio_hw_probe(sc, is_indep, &mode, &phwfmt, &rhwfmt); + error = audio_hw_probe(sc, has_indep, &mode, &phwfmt, &rhwfmt); if (error) { mutex_exit(sc->sc_lock); aprint_error_dev(self, "audio_hw_probe failed, "
CVS commit: src/sys/dev/audio
Module Name:src Committed By: isaki Date: Sat Jun 8 08:20:11 UTC 2019 Modified Files: src/sys/dev/audio: audio.c Log Message: Improve checking and displaying property. - Full/half duplex and independentness are valid only on bidirectional device. - MMAP is no longer hardware driver's property. To generate a diff of this commit: cvs rdiff -u -r1.12 -r1.13 src/sys/dev/audio/audio.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src/sys
Module Name:src Committed By: isaki Date: Sat Jun 8 08:02:38 UTC 2019 Modified Files: src/sys/arch/amiga/dev: aucc.c repulse.c toccata.c src/sys/arch/arm/iomd: vidcaudio.c src/sys/arch/arm/sunxi: sunxi_codec.c sunxi_i2s.c src/sys/arch/arm/xscale: pxa2x0_ac97.c src/sys/arch/hpcmips/vr: vraiu.c src/sys/arch/hppa/gsc: harmony.c src/sys/arch/macppc/dev: awacs.c snapper.c src/sys/arch/x68k/dev: vs.c src/sys/arch/zaurus/dev: zaudio.c src/sys/dev/audio: audio.c src/sys/dev/bluetooth: btsco.c src/sys/dev/hdaudio: hdafg.c src/sys/dev/ic: am7930.c arcofi.c cs4231.c interwave.c tms320av110.c src/sys/dev/isa: ad1848_isa.c aria.c ess.c gus.c sbdsp.c src/sys/dev/pci: auacer.c auich.c auixp.c autri.c auvia.c azalia.c cmpci.c cs428x.c eap.c emuxki.c esa.c esm.c eso.c fms.c gcscaudio.c neo.c sv.c yds.c src/sys/dev/sbus: dbri.c src/sys/dev/tc: bba.c Log Message: Clean get_props(). - Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly. This eliminates need for audio.c to take care of such (old) drivers which don't return both of PLAYBACK and CAPTURE. - All get_props() doesn't need to return AUDIO_PROP_MMAP. It is handled in the audio layer now. To generate a diff of this commit: cvs rdiff -u -r1.45 -r1.46 src/sys/arch/amiga/dev/aucc.c cvs rdiff -u -r1.22 -r1.23 src/sys/arch/amiga/dev/repulse.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/amiga/dev/toccata.c cvs rdiff -u -r1.58 -r1.59 src/sys/arch/arm/iomd/vidcaudio.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/sunxi/sunxi_codec.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/sunxi/sunxi_i2s.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/xscale/pxa2x0_ac97.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/hpcmips/vr/vraiu.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/hppa/gsc/harmony.c cvs rdiff -u -r1.47 -r1.48 src/sys/arch/macppc/dev/awacs.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/macppc/dev/snapper.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/x68k/dev/vs.c cvs rdiff -u -r1.22 -r1.23 src/sys/arch/zaurus/dev/zaudio.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/audio/audio.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/bluetooth/btsco.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/hdaudio/hdafg.c cvs rdiff -u -r1.58 -r1.59 src/sys/dev/ic/am7930.c cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/arcofi.c cvs rdiff -u -r1.30 -r1.31 src/sys/dev/ic/cs4231.c cvs rdiff -u -r1.41 -r1.42 src/sys/dev/ic/interwave.c cvs rdiff -u -r1.26 -r1.27 src/sys/dev/ic/tms320av110.c cvs rdiff -u -r1.39 -r1.40 src/sys/dev/isa/ad1848_isa.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/isa/aria.c cvs rdiff -u -r1.85 -r1.86 src/sys/dev/isa/ess.c cvs rdiff -u -r1.116 -r1.117 src/sys/dev/isa/gus.c cvs rdiff -u -r1.140 -r1.141 src/sys/dev/isa/sbdsp.c cvs rdiff -u -r1.37 -r1.38 src/sys/dev/pci/auacer.c cvs rdiff -u -r1.156 -r1.157 src/sys/dev/pci/auich.c cvs rdiff -u -r1.46 -r1.47 src/sys/dev/pci/auixp.c src/sys/dev/pci/fms.c cvs rdiff -u -r1.57 -r1.58 src/sys/dev/pci/autri.c cvs rdiff -u -r1.83 -r1.84 src/sys/dev/pci/auvia.c cvs rdiff -u -r1.87 -r1.88 src/sys/dev/pci/azalia.c cvs rdiff -u -r1.55 -r1.56 src/sys/dev/pci/cmpci.c src/sys/dev/pci/sv.c cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/cs428x.c cvs rdiff -u -r1.100 -r1.101 src/sys/dev/pci/eap.c cvs rdiff -u -r1.69 -r1.70 src/sys/dev/pci/emuxki.c cvs rdiff -u -r1.64 -r1.65 src/sys/dev/pci/esa.c cvs rdiff -u -r1.62 -r1.63 src/sys/dev/pci/esm.c cvs rdiff -u -r1.70 -r1.71 src/sys/dev/pci/eso.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/pci/gcscaudio.c cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/neo.c cvs rdiff -u -r1.63 -r1.64 src/sys/dev/pci/yds.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/sbus/dbri.c cvs rdiff -u -r1.43 -r1.44 src/sys/dev/tc/bba.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/amiga/dev/aucc.c diff -u src/sys/arch/amiga/dev/aucc.c:1.45 src/sys/arch/amiga/dev/aucc.c:1.46 --- src/sys/arch/amiga/dev/aucc.c:1.45 Wed May 8 13:40:14 2019 +++ src/sys/arch/amiga/dev/aucc.c Sat Jun 8 08:02:36 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: aucc.c,v 1.45 2019/05/08 13:40:14 isaki Exp $ */ +/* $NetBSD: aucc.c,v 1.46 2019/06/08 08:02:36 isaki Exp $ */ /* * Copyright (c) 1999 Bernardo Innocenti @@ -46,7 +46,7 @@ #if NAUCC > 0 #include -__KERNEL_RCSID(0, "$NetBSD: aucc.c,v 1.45 2019/05/08 13:40:14 isaki Exp $"); +__KERNEL_RCSID(0, "$NetBSD: aucc.c,v 1.46 2019/06/08 08:02:36 isaki Exp $"); #include #include @@ -693,7 +693,8 @@ aucc_get_port(void *addr, mixer_ctrl_t * int aucc_get_props(void *addr) { - return 0; + + return AUDIO_PROP_PLAYBACK | AUDIO_PROP_CAPTURE; } Index: src/sys/arch/amiga/dev/repulse.c diff -u src/sys/arch/amiga/dev/repulse.c:1.22 src/sys/arch/amiga/dev/repulse.c:1.23 --- src/sys/arch/amiga/dev/repulse.c:1.22 Wed May 8 13:40:14 2019 +++ src/sys/arch/amiga/dev/repulse.c Sat Jun 8 08:02:36 2019
CVS commit: src/sys
Module Name:src Committed By: isaki Date: Sat Jun 8 08:02:38 UTC 2019 Modified Files: src/sys/arch/amiga/dev: aucc.c repulse.c toccata.c src/sys/arch/arm/iomd: vidcaudio.c src/sys/arch/arm/sunxi: sunxi_codec.c sunxi_i2s.c src/sys/arch/arm/xscale: pxa2x0_ac97.c src/sys/arch/hpcmips/vr: vraiu.c src/sys/arch/hppa/gsc: harmony.c src/sys/arch/macppc/dev: awacs.c snapper.c src/sys/arch/x68k/dev: vs.c src/sys/arch/zaurus/dev: zaudio.c src/sys/dev/audio: audio.c src/sys/dev/bluetooth: btsco.c src/sys/dev/hdaudio: hdafg.c src/sys/dev/ic: am7930.c arcofi.c cs4231.c interwave.c tms320av110.c src/sys/dev/isa: ad1848_isa.c aria.c ess.c gus.c sbdsp.c src/sys/dev/pci: auacer.c auich.c auixp.c autri.c auvia.c azalia.c cmpci.c cs428x.c eap.c emuxki.c esa.c esm.c eso.c fms.c gcscaudio.c neo.c sv.c yds.c src/sys/dev/sbus: dbri.c src/sys/dev/tc: bba.c Log Message: Clean get_props(). - Make get_props() return AUDIO_PROP_{PLAYBACK,CAPTURE} properly. This eliminates need for audio.c to take care of such (old) drivers which don't return both of PLAYBACK and CAPTURE. - All get_props() doesn't need to return AUDIO_PROP_MMAP. It is handled in the audio layer now. To generate a diff of this commit: cvs rdiff -u -r1.45 -r1.46 src/sys/arch/amiga/dev/aucc.c cvs rdiff -u -r1.22 -r1.23 src/sys/arch/amiga/dev/repulse.c cvs rdiff -u -r1.19 -r1.20 src/sys/arch/amiga/dev/toccata.c cvs rdiff -u -r1.58 -r1.59 src/sys/arch/arm/iomd/vidcaudio.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/arm/sunxi/sunxi_codec.c cvs rdiff -u -r1.5 -r1.6 src/sys/arch/arm/sunxi/sunxi_i2s.c cvs rdiff -u -r1.16 -r1.17 src/sys/arch/arm/xscale/pxa2x0_ac97.c cvs rdiff -u -r1.17 -r1.18 src/sys/arch/hpcmips/vr/vraiu.c cvs rdiff -u -r1.6 -r1.7 src/sys/arch/hppa/gsc/harmony.c cvs rdiff -u -r1.47 -r1.48 src/sys/arch/macppc/dev/awacs.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/macppc/dev/snapper.c cvs rdiff -u -r1.51 -r1.52 src/sys/arch/x68k/dev/vs.c cvs rdiff -u -r1.22 -r1.23 src/sys/arch/zaurus/dev/zaudio.c cvs rdiff -u -r1.11 -r1.12 src/sys/dev/audio/audio.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/bluetooth/btsco.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/hdaudio/hdafg.c cvs rdiff -u -r1.58 -r1.59 src/sys/dev/ic/am7930.c cvs rdiff -u -r1.2 -r1.3 src/sys/dev/ic/arcofi.c cvs rdiff -u -r1.30 -r1.31 src/sys/dev/ic/cs4231.c cvs rdiff -u -r1.41 -r1.42 src/sys/dev/ic/interwave.c cvs rdiff -u -r1.26 -r1.27 src/sys/dev/ic/tms320av110.c cvs rdiff -u -r1.39 -r1.40 src/sys/dev/isa/ad1848_isa.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/isa/aria.c cvs rdiff -u -r1.85 -r1.86 src/sys/dev/isa/ess.c cvs rdiff -u -r1.116 -r1.117 src/sys/dev/isa/gus.c cvs rdiff -u -r1.140 -r1.141 src/sys/dev/isa/sbdsp.c cvs rdiff -u -r1.37 -r1.38 src/sys/dev/pci/auacer.c cvs rdiff -u -r1.156 -r1.157 src/sys/dev/pci/auich.c cvs rdiff -u -r1.46 -r1.47 src/sys/dev/pci/auixp.c src/sys/dev/pci/fms.c cvs rdiff -u -r1.57 -r1.58 src/sys/dev/pci/autri.c cvs rdiff -u -r1.83 -r1.84 src/sys/dev/pci/auvia.c cvs rdiff -u -r1.87 -r1.88 src/sys/dev/pci/azalia.c cvs rdiff -u -r1.55 -r1.56 src/sys/dev/pci/cmpci.c src/sys/dev/pci/sv.c cvs rdiff -u -r1.19 -r1.20 src/sys/dev/pci/cs428x.c cvs rdiff -u -r1.100 -r1.101 src/sys/dev/pci/eap.c cvs rdiff -u -r1.69 -r1.70 src/sys/dev/pci/emuxki.c cvs rdiff -u -r1.64 -r1.65 src/sys/dev/pci/esa.c cvs rdiff -u -r1.62 -r1.63 src/sys/dev/pci/esm.c cvs rdiff -u -r1.70 -r1.71 src/sys/dev/pci/eso.c cvs rdiff -u -r1.17 -r1.18 src/sys/dev/pci/gcscaudio.c cvs rdiff -u -r1.53 -r1.54 src/sys/dev/pci/neo.c cvs rdiff -u -r1.63 -r1.64 src/sys/dev/pci/yds.c cvs rdiff -u -r1.40 -r1.41 src/sys/dev/sbus/dbri.c cvs rdiff -u -r1.43 -r1.44 src/sys/dev/tc/bba.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
CVS commit: src
Module Name:src Committed By: maxv Date: Sat Jun 8 07:27:44 UTC 2019 Modified Files: src/lib/libnvmm: libnvmm.3 libnvmm.c libnvmm_x86.c nvmm.h src/tests/lib/libnvmm: h_io_assist.c h_mem_assist.c Log Message: Change the NVMM API to reduce data movements. Sent to tech-kern@. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/lib/libnvmm/libnvmm.3 cvs rdiff -u -r1.13 -r1.14 src/lib/libnvmm/libnvmm.c cvs rdiff -u -r1.30 -r1.31 src/lib/libnvmm/libnvmm_x86.c cvs rdiff -u -r1.11 -r1.12 src/lib/libnvmm/nvmm.h cvs rdiff -u -r1.7 -r1.8 src/tests/lib/libnvmm/h_io_assist.c cvs rdiff -u -r1.10 -r1.11 src/tests/lib/libnvmm/h_mem_assist.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/lib/libnvmm/libnvmm.3 diff -u src/lib/libnvmm/libnvmm.3:1.18 src/lib/libnvmm/libnvmm.3:1.19 --- src/lib/libnvmm/libnvmm.3:1.18 Sat May 11 07:44:00 2019 +++ src/lib/libnvmm/libnvmm.3 Sat Jun 8 07:27:44 2019 @@ -1,4 +1,4 @@ -.\" $NetBSD: libnvmm.3,v 1.18 2019/05/11 07:44:00 maxv Exp $ +.\" $NetBSD: libnvmm.3,v 1.19 2019/06/08 07:27:44 maxv Exp $ .\" .\" Copyright (c) 2018, 2019 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd May 11, 2019 +.Dd May 30, 2019 .Dt LIBNVMM 3 .Os .Sh NAME @@ -47,21 +47,20 @@ .Fn nvmm_machine_configure "struct nvmm_machine *mach" "uint64_t op" \ "void *conf" .Ft int -.Fn nvmm_vcpu_create "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" +.Fn nvmm_vcpu_create "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ +"struct nvmm_vcpu *vcpu" .Ft int -.Fn nvmm_vcpu_destroy "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" +.Fn nvmm_vcpu_destroy "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" .Ft int -.Fn nvmm_vcpu_getstate "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"void *state" "uint64_t flags" +.Fn nvmm_vcpu_getstate "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" \ +"uint64_t flags" .Ft int -.Fn nvmm_vcpu_setstate "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"void *state" "uint64_t flags" +.Fn nvmm_vcpu_setstate "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" \ +"uint64_t flags" .Ft int -.Fn nvmm_vcpu_inject "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"struct nvmm_event *event" +.Fn nvmm_vcpu_inject "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" .Ft int -.Fn nvmm_vcpu_run "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"struct nvmm_exit *exit" +.Fn nvmm_vcpu_run "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" .Ft int .Fn nvmm_hva_map "struct nvmm_machine *mach" "uintptr_t hva" "size_t size" .Ft int @@ -73,17 +72,15 @@ .Fn nvmm_gpa_unmap "struct nvmm_machine *mach" "uintptr_t hva" "gpaddr_t gpa" \ "size_t size" .Ft int -.Fn nvmm_gva_to_gpa "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ +.Fn nvmm_gva_to_gpa "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" \ "gvaddr_t gva" "gpaddr_t *gpa" "nvmm_prot_t *prot" .Ft int .Fn nvmm_gpa_to_hva "struct nvmm_machine *mach" "gpaddr_t gpa" \ "uintptr_t *hva" "nvmm_prot_t *prot" .Ft int -.Fn nvmm_assist_io "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"struct nvmm_exit *exit" +.Fn nvmm_assist_io "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" .Ft int -.Fn nvmm_assist_mem "struct nvmm_machine *mach" "nvmm_cpuid_t cpuid" \ -"struct nvmm_exit *exit" +.Fn nvmm_assist_mem "struct nvmm_machine *mach" "struct nvmm_vcpu *vcpu" .Sh DESCRIPTION .Nm provides a library for emulator software to handle hardware-accelerated virtual @@ -95,6 +92,8 @@ Emulator software should not attempt to should use the API provided by .Nm to manage virtual machines. +A virtual CPU is described by a public structure, +.Cd nvmm_vcpu . .Pp .Fn nvmm_capability gets the capabilities of NVMM. @@ -124,61 +123,61 @@ describes the value of the parameter. creates a virtual CPU in the machine .Fa mach , giving it the CPU id -.Fa cpuid . +.Fa cpuid , +and initializes +.Fa vcpu . .Pp .Fn nvmm_vcpu_destroy destroys the virtual CPU identified by -.Fa cpuid +.Fa vcpu in the machine .Fa mach . .Pp .Fn nvmm_vcpu_getstate gets the state of the virtual CPU identified by -.Fa cpuid +.Fa vcpu in the machine .Fa mach . -The -.Fa state -argument is the address of a state area, and .Fa flags is the bitmap of the components that are to be retrieved. +The components are located in +.Fa vcpu->state . See .Sx VCPU State Area below for details. .Pp .Fn nvmm_vcpu_setstate sets the state of the virtual CPU identified by -.Fa cpuid +.Fa vcpu in the machine .Fa mach . -The -.Fa state -argument is the address of a state area, and .Fa flags is the bitmap of the components that are to be set. +The components are located in +.Fa vcpu->state . See .Sx VCPU State Area below for details.
CVS commit: src
Module Name:src Committed By: maxv Date: Sat Jun 8 07:27:44 UTC 2019 Modified Files: src/lib/libnvmm: libnvmm.3 libnvmm.c libnvmm_x86.c nvmm.h src/tests/lib/libnvmm: h_io_assist.c h_mem_assist.c Log Message: Change the NVMM API to reduce data movements. Sent to tech-kern@. To generate a diff of this commit: cvs rdiff -u -r1.18 -r1.19 src/lib/libnvmm/libnvmm.3 cvs rdiff -u -r1.13 -r1.14 src/lib/libnvmm/libnvmm.c cvs rdiff -u -r1.30 -r1.31 src/lib/libnvmm/libnvmm_x86.c cvs rdiff -u -r1.11 -r1.12 src/lib/libnvmm/nvmm.h cvs rdiff -u -r1.7 -r1.8 src/tests/lib/libnvmm/h_io_assist.c cvs rdiff -u -r1.10 -r1.11 src/tests/lib/libnvmm/h_mem_assist.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.