Page MenuHomeFreeBSD
Feed Advanced Search

Yesterday

jhb created D22118: Add a kmod.opts.mk..
Tue, Oct 22, 10:21 PM
jhb added a comment to D22117: Use a counter with a random base for explicit IVs in GCM..

Would you be able to test this with the current ISA-L module (and verify it works ok on your end)?

Tue, Oct 22, 10:09 PM
jhb created D22117: Use a counter with a random base for explicit IVs in GCM..
Tue, Oct 22, 10:07 PM
jhb committed rS353900: Split Chelsio send tags into a generic base tag and a ratelimit tag..
Split Chelsio send tags into a generic base tag and a ratelimit tag.
Tue, Oct 22, 8:42 PM
jhb closed D22072: Split Chelsio send tags into a generic base tag and a ratelimit tag..
Tue, Oct 22, 8:42 PM
jhb committed rS353899: Always allocate the atid table during attach..
Always allocate the atid table during attach.
Tue, Oct 22, 8:02 PM
jhb closed D22028: Always allocate the atid table during attach..
Tue, Oct 22, 8:02 PM

Mon, Oct 21

jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

To be clear, I booted both clang and GCC-compiled versions with this patch. I also compared the output of my test program for earlier and both clang and gcc now insert a 'sext.w' instruction to sign extend 'cmpval' before the 'li'.

Mon, Oct 21, 8:43 PM
jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

A reference to a relevant LLVM review: https://reviews.llvm.org/D69212

Mon, Oct 21, 8:35 PM
jhb retitled D22084: Fix atomic_*cmpset32 on riscv64 with clang. from Fix atomic_*cmpset32 on riscv for values > 2^31. to Fix atomic_*cmpset32 on riscv64 with clang..
Mon, Oct 21, 8:35 PM
jhb updated the diff for D22084: Fix atomic_*cmpset32 on riscv64 with clang..
  • Use a cast to sign extend the comparison value.
Mon, Oct 21, 8:30 PM
jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

The only reason I think it might be a bug is that the RISC-V spec seems to be fairly explicit about how unsigned 32-bit ints should be stored in registers. That said, I had also gotten a similar patch using the casts privately and will be updating the patch to use that once I test it.

Mon, Oct 21, 4:41 PM

Fri, Oct 18

jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

Note that GCC uses 'lw' in instruction at offset 0 to read the $a5 that is eventually used in the bne instruction (and is thus sign-extended), while clang uses 'lwu' at offset 4.

Fri, Oct 18, 10:29 PM
jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

I used this test program:

Fri, Oct 18, 10:26 PM
jhb added a comment to D22084: Fix atomic_*cmpset32 on riscv64 with clang..

So I now wonder if this isn't actually a compiler bug in LLVM. Specifically, section 4.2 of the 2.2 spec when talking about RV64 has this "explanatory" comment in italics:

Fri, Oct 18, 10:03 PM
jhb created D22084: Fix atomic_*cmpset32 on riscv64 with clang..
Fri, Oct 18, 9:52 PM
jhb accepted D22071: iflib: call ether_ifdetach and netmap_detach before stop.

This looks good to me from my understanding.

Fri, Oct 18, 4:25 PM
jhb created D22072: Split Chelsio send tags into a generic base tag and a ratelimit tag..
Fri, Oct 18, 12:13 AM

Thu, Oct 17

jhb committed rS353707: MFC 348472: Whitespace cleanups, no functional change..
MFC 348472: Whitespace cleanups, no functional change.
Thu, Oct 17, 11:48 PM
jhb committed rS353706: MFC 348779:.
MFC 348779:
Thu, Oct 17, 11:30 PM
jhb committed rS353705: MFC 348778,348998: Enable memory and I/O decoding in PCI devices on demand..
MFC 348778,348998: Enable memory and I/O decoding in PCI devices on demand.
Thu, Oct 17, 11:27 PM
jhb committed rS353704: MFC 348253: Add initial support for 'qSupported' to the debug server..
MFC 348253: Add initial support for 'qSupported' to the debug server.
Thu, Oct 17, 11:22 PM
jhb committed rS353703: MFC 348212,348712: Add support for writing to guest memory in the debug server..
MFC 348212,348712: Add support for writing to guest memory in the debug server.
Thu, Oct 17, 11:18 PM
jhb updated the diff for D20844: Update security/razorback-api to compile with OpenSSL 1.1.x..
  • Fix issue reported by lhwsu@
  • Mark razorback-dispatch broken since it doesn't compile with modern libssh
Thu, Oct 17, 6:28 PM
jhb added a comment to D21421: Split out a more generic debugnet(4) from netdump(4).
In D21421#482081, @jhb wrote:

Committed in r353685, I'm not sure why Phabricator has not closed this yet.

For some reason Phabricator is not auto-closing some reviews. One note, if you use rS instead of r Phabricator will make it a link to the commit - e.g. rS353685

You can also "Edit related revisions" to associate the review with a commit just like a normal auto-close would (the commit is listed at the top as a link, etc.)

Thu, Oct 17, 6:11 PM
jhb added a comment to D21421: Split out a more generic debugnet(4) from netdump(4).

Committed in r353685, I'm not sure why Phabricator has not closed this yet.

For some reason Phabricator is not auto-closing some reviews. One note, if you use rS instead of r Phabricator will make it a link to the commit - e.g. rS353685

Thu, Oct 17, 6:10 PM
jhb accepted D21978: vmm: remove a wmb() call.
Thu, Oct 17, 5:52 PM
jhb added a comment to D21978: vmm: remove a wmb() call.

The sfence does nothing for checks outside the lock, so this does indeed seem pointless. The removed code also used KASSERT(mtx_owned...) instead of mtx_assert() which seems sub-par.

Thu, Oct 17, 5:51 PM
jhb created D22064: Divorce the ARM bare-metal GCC ports from the FreeBSD GCC xtoolchain ports..
Thu, Oct 17, 12:02 AM

Wed, Oct 16

jhb committed rP514619: Always set the endian flag for the linker emulation for MIPS..
Always set the endian flag for the linker emulation for MIPS.
Wed, Oct 16, 9:46 PM
jhb closed D22004: devel/powerpc64-gcc: always set the endian flag for the linker emulation for MIPS..
Wed, Oct 16, 9:46 PM
jhb accepted D22007: amd64: Ensure that the state of the switched-out thread is fully flushed.

My only request is to perhaps do the mfence in pmap_activate_sw as a separate commit from the sfence -> atomic changes if you weren't already planning to do so.

Wed, Oct 16, 4:15 PM

Tue, Oct 15

jhb committed rS353587: Install an ACPI PCI bus notify handler..
Install an ACPI PCI bus notify handler.
Tue, Oct 15, 7:12 PM
jhb committed rS353586: Support hot insertion and removal of PCI devices on EC2..
Support hot insertion and removal of PCI devices on EC2.
Tue, Oct 15, 7:04 PM
jhb closed D21948: Support hotplug of PCI devices on EC2..
Tue, Oct 15, 6:58 PM
jhb committed rS353585: Export pci_attach() and pci_detach()..
Export pci_attach() and pci_detach().
Tue, Oct 15, 6:58 PM
jhb committed rS353579: Use __FreeBSD_version to determine if gets() has been removed..
Use __FreeBSD_version to determine if gets() has been removed.
Tue, Oct 15, 6:16 PM
jhb closed D22034: Use __FreeBSD_version to determine if gets() has been removed..
Tue, Oct 15, 6:16 PM
jhb added a comment to D22034: Use __FreeBSD_version to determine if gets() has been removed..
In D22034#481338, @dim wrote:

Ah, I now realized that <osreldate.h> is a very minimal header, I was thinking that it would pull in lots of pollution, like <sys/param.h>... In that case it is probably the least ugly solution.

Tue, Oct 15, 6:14 PM
jhb committed rS353576: Use -march=octeon+ for OCTEON1..
Use -march=octeon+ for OCTEON1.
Tue, Oct 15, 5:28 PM
jhb closed D22033: Use -march=octeon+ for OCTEON1 to use the saa instruction..
Tue, Oct 15, 5:28 PM
jhb committed rS353574: Fix a write-only variable warning from external GCC..
Fix a write-only variable warning from external GCC.
Tue, Oct 15, 5:17 PM
jhb closed D22032: Fix a write-only variable warning from external GCC..
Tue, Oct 15, 5:17 PM
jhb committed rS353573: Don't set the OUTPUT_FORMAT explicitly but let ld derive it..
Don't set the OUTPUT_FORMAT explicitly but let ld derive it.
Tue, Oct 15, 5:14 PM
jhb closed D22031: Don't set the OUTPUT_FORMAT explicitly but let ld derive it..
Tue, Oct 15, 5:14 PM
jhb committed rS353572: Update MIPS kernel builds to work with mips-gcc..
Update MIPS kernel builds to work with mips-gcc.
Tue, Oct 15, 5:12 PM
jhb closed D22030: Update MIPS kernel builds to work with mips-gcc..
Tue, Oct 15, 5:12 PM
jhb added a comment to D22034: Use __FreeBSD_version to determine if gets() has been removed..

GCC can't really be fixed. It doesn't have a runtime equivalent of --target and FreeBSD is hardcoded based on what was configured at runtime. It's not practical to have the GCC ports build and install per-OS version compilers (e.g. devel/powerpc64-gcc would have to install separate binaries for freebsd11 vs freebsd12 vs freebsd13).

Tue, Oct 15, 4:23 PM

Mon, Oct 14

jhb created D22034: Use __FreeBSD_version to determine if gets() has been removed..
Mon, Oct 14, 10:47 PM
jhb created D22033: Use -march=octeon+ for OCTEON1 to use the saa instruction..
Mon, Oct 14, 9:48 PM
jhb created D22032: Fix a write-only variable warning from external GCC..
Mon, Oct 14, 9:47 PM
jhb created D22031: Don't set the OUTPUT_FORMAT explicitly but let ld derive it..
Mon, Oct 14, 9:46 PM
jhb created D22030: Update MIPS kernel builds to work with mips-gcc..
Mon, Oct 14, 9:45 PM
jhb committed rS353523: Disconnect powerpc from the default tinderbox for now..
Disconnect powerpc from the default tinderbox for now.
Mon, Oct 14, 9:22 PM
jhb created D22028: Always allocate the atid table during attach..
Mon, Oct 14, 8:50 PM
jhb added a comment to D22023: Optionally build/link programs against the compat ABI..
In D22023#481075, @jhb wrote:

So one thought I had had when looking at this as well (in the context of trying to update libcheri to use Makefile.libcompat which we won't bother with, but meant reading much of this stuff) is that I really feel like we should install /usr/lib<foo> into the normal sysroot instead of a separate sysroot. This means builds of programs can always use the same --sysroot (and it also makes it possible to use the same --sysroot from the obj tree for different ABIs when building out-of-tree programs).

This seems like a good idea, but I think I'd prefer to avoid it in this batch of changes.

Mon, Oct 14, 6:56 PM
jhb committed rS353499: Remove the aarch64 libclang_rt.profile library from llvm 8.0.1..
Remove the aarch64 libclang_rt.profile library from llvm 8.0.1.
Mon, Oct 14, 6:31 PM
jhb added a comment to D22007: amd64: Ensure that the state of the switched-out thread is fully flushed.

Does i386 require a similar fix (or do we not care enough about i386 to bother?)

Mon, Oct 14, 6:17 PM
jhb committed rS353498: Remove an unused parameter from get_new_keyid()..
Remove an unused parameter from get_new_keyid().
Mon, Oct 14, 6:03 PM
jhb added a comment to D22023: Optionally build/link programs against the compat ABI..

So one thought I had had when looking at this as well (in the context of trying to update libcheri to use Makefile.libcompat which we won't bother with, but meant reading much of this stuff) is that I really feel like we should install /usr/lib<foo> into the normal sysroot instead of a separate sysroot. This means builds of programs can always use the same --sysroot (and it also makes it possible to use the same --sysroot from the obj tree for different ABIs when building out-of-tree programs).

Mon, Oct 14, 5:51 PM
jhb added inline comments to D19183: libkvm: Fix the kvm_walk_pages in amd64.
Mon, Oct 14, 5:43 PM

Sat, Oct 12

jhb created D22004: devel/powerpc64-gcc: always set the endian flag for the linker emulation for MIPS..
Sat, Oct 12, 8:31 PM

Thu, Oct 10

jhb accepted D21839: bhyve: implement NVMe deallocate command.

I can't speak to the NVMe bits, but from what I can understand on the bhyve side it looks ok to me.

Thu, Oct 10, 4:35 PM
jhb accepted D21838: bhyve: refactor NVMe namespace initialization.
Thu, Oct 10, 4:27 PM
jhb accepted D21837: bhyve: refactor NVMe PRP memcpy.
Thu, Oct 10, 4:26 PM

Wed, Oct 9

jhb added a comment to D21948: Support hotplug of PCI devices on EC2..

For committing purposes I will probably split this up into a few commits:

Wed, Oct 9, 11:39 PM
jhb committed rS353378: Add opt_kern_tls.h to the sources from t4_tom.ko..
Add opt_kern_tls.h to the sources from t4_tom.ko.
Wed, Oct 9, 11:35 PM
jhb added inline comments to D21962: NIC KTLS for Chelsio T6 adapters..
Wed, Oct 9, 11:28 PM
jhb created D21962: NIC KTLS for Chelsio T6 adapters..
Wed, Oct 9, 11:18 PM
jhb added inline comments to D21945: kvm: fix types for `kvm_walk_pages`.
Wed, Oct 9, 9:32 PM
jhb added a comment to D19183: libkvm: Fix the kvm_walk_pages in amd64.

Will should really review this since he added this API.

Wed, Oct 9, 9:29 PM
jhb added a reviewer for D19183: libkvm: Fix the kvm_walk_pages in amd64: will.
Wed, Oct 9, 9:26 PM
jhb added inline comments to D19183: libkvm: Fix the kvm_walk_pages in amd64.
Wed, Oct 9, 9:26 PM
jhb closed D21953: Don't free the cursor boundary tag during vmem_destroy()..
Wed, Oct 9, 9:20 PM
jhb committed rS353371: Don't free the cursor boundary tag during vmem_destroy()..
Don't free the cursor boundary tag during vmem_destroy().
Wed, Oct 9, 9:20 PM
jhb updated the diff for D21948: Support hotplug of PCI devices on EC2..
  • Fix compile issues
  • Pass the value 1 to _EJ0 after checking the ACPI 6.2 spec. Also, the spec says that for devices with _ADR (PCI), the bus driver should verify the device is removed after _EJ0 returns, so just trigger a BUS_RESCAN to delete the child device after _EJ0.
Wed, Oct 9, 9:16 PM
jhb committed rS353369: Remove adapters from t4_list earlier during detach..
Remove adapters from t4_list earlier during detach.
Wed, Oct 9, 9:09 PM
jhb closed D21952: Remove adapters from t4_list earlier during detach..
Wed, Oct 9, 9:09 PM
jhb added inline comments to D21942: Don't compile old gcc 4.2.1 archs by default in universe/tinderbox..
Wed, Oct 9, 9:04 PM
jhb updated the diff for D21948: Support hotplug of PCI devices on EC2..

Add an in-kernel eject handler. We might replace this with a devctl_notify
that triggers events in userland instead, but this might work sufficiently
for now.

Wed, Oct 9, 7:50 PM
jhb updated the diff for D21953: Don't free the cursor boundary tag during vmem_destroy()..
  • Simplify the vmem fix.
Wed, Oct 9, 7:21 PM
jhb added inline comments to D21953: Don't free the cursor boundary tag during vmem_destroy()..
Wed, Oct 9, 4:06 PM
jhb added a comment to D21953: Don't free the cursor boundary tag during vmem_destroy()..

Test kernel module:

Wed, Oct 9, 12:27 AM
jhb added inline comments to D21953: Don't free the cursor boundary tag during vmem_destroy()..
Wed, Oct 9, 12:27 AM
jhb created D21953: Don't free the cursor boundary tag during vmem_destroy()..
Wed, Oct 9, 12:26 AM
jhb created D21952: Remove adapters from t4_list earlier during detach..
Wed, Oct 9, 12:24 AM
jhb updated the diff for D21948: Support hotplug of PCI devices on EC2..

Lock Giant around BUS_RESCAN.

Wed, Oct 9, 12:21 AM

Tue, Oct 8

jhb updated the diff for D21948: Support hotplug of PCI devices on EC2..

Use ACPI_SYSTEM_NOTIFY instead of ACPI_DEVICE_NOTIFY.

Tue, Oct 8, 11:35 PM
jhb added inline comments to D21948: Support hotplug of PCI devices on EC2..
Tue, Oct 8, 10:58 PM
jhb requested changes to D21944: pci_iov: Stop preventing VFs from allocating extra bus numbers.

Sorry, not sure why it got marked as accepted earlier. As-is this is not safe without verifying that the parent bridge has the bus number allocated.

Tue, Oct 8, 10:55 PM
jhb added a comment to D21944: pci_iov: Stop preventing VFs from allocating extra bus numbers.
In D21944#479348, @erj wrote:
In D21944#479344, @jhb wrote:

How did this work? Meaning how did you allocate bus numbers? Did the parent PCI-PCI bridge have enough bus numbers in range already? For this to work properly you'd need to ensure that the parent PCI-PCI bridge at the other end of the link has the requested bus numbers mapped into its range of valid bus numbers.

I can show you the pciconf output; but to summarize the PFs are located at functions 0-7 (this card only has two functions so functions 2-7 are reserved and unused). VFs start at 8 with a stride of 1, so creating 256 VFs (the limit of the card) causes the last 8 on the 2nd port to need a new bus number.

Tue, Oct 8, 10:53 PM
jhb added a comment to D21946: [PPC] Fix kgdb symbol resolution and backtrace.

The relocation needs to be done a different way to support, e.g. remote debugging (e.g. attaching gdb to qemu's debug stub). Also, kgdb_main.c is just a simpler wrapper, and 'target vmcore /path/to/vmcore' in plain gdb should also work. I'll have to think about how this might be doable, but this approach is rather hacky. It also won't work for cross-debugging (examining a ppc vmcore on a non-ppc host which kgdb generally supports for other architectures). For PIE executables gdb relies on using the ELF auxv values to find the relocated binary.

Tue, Oct 8, 10:51 PM
jhb updated the diff for D21948: Support hotplug of PCI devices on EC2..

Re-add the bus notify handler to see if that helps Scott's use case.

Tue, Oct 8, 10:09 PM
jhb committed rS353330: Add support for KTLS in the Chelsio TOE module..
Add support for KTLS in the Chelsio TOE module.
Tue, Oct 8, 9:40 PM
jhb created D21948: Support hotplug of PCI devices on EC2..
Tue, Oct 8, 9:38 PM
jhb closed D21891: Add support for KTLS via the TOE on Chelsio's T6 adapters..
Tue, Oct 8, 9:34 PM
jhb committed rS353328: Add a TOE KTLS mode and a TOE hook for allocating TLS sessions..
Add a TOE KTLS mode and a TOE hook for allocating TLS sessions.
Tue, Oct 8, 9:34 PM
jhb added inline comments to D21891: Add support for KTLS via the TOE on Chelsio's T6 adapters..
Tue, Oct 8, 9:31 PM
jhb committed rS353323: Set the FID field in lookaside crypto requests to the rx queue ID..
Set the FID field in lookaside crypto requests to the rx queue ID.
Tue, Oct 8, 8:22 PM
jhb accepted D21944: pci_iov: Stop preventing VFs from allocating extra bus numbers.

How did this work? Meaning how did you allocate bus numbers? Did the parent PCI-PCI bridge have enough bus numbers in range already? For this to work properly you'd need to ensure that the parent PCI-PCI bridge at the other end of the link has the requested bus numbers mapped into its range of valid bus numbers.

Tue, Oct 8, 6:05 PM