Page MenuHomeFreeBSD

jhb (John Baldwin)
User

Projects (8)

User Details

User Since
Mar 11 2014, 8:46 PM (266 w, 3 d)

Recent Activity

Yesterday

jhb added a comment to D19977: Use more descriptive algorithm names in skip messages..

It is mostly moot and I don't really plan to change it currently. At some point I might instead make it just try to create a single test session for each algorithm up front and skip if it gets EOPNOTSUPP. It also should not have a hardcoded list of device names. It should really take an optional command line argument for what devices you want to test or use some method to enumerate the available devices (might have to add something to OCF to support the latter).

Fri, Apr 19, 10:23 PM
jhb closed D19882: Test SHA2-224-HMAC now that OCF supports it..
Fri, Apr 19, 10:21 PM
jhb committed rS346421: Test SHA2-224-HMAC now that OCF supports it..
Test SHA2-224-HMAC now that OCF supports it.
Fri, Apr 19, 10:21 PM
jhb added a child revision for D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors.: D19978: Test the AES-CCM test vectors from the NIST Known Answer Tests..
Fri, Apr 19, 10:17 PM
jhb added a child revision for D19977: Use more descriptive algorithm names in skip messages.: D19978: Test the AES-CCM test vectors from the NIST Known Answer Tests..
Fri, Apr 19, 10:17 PM
jhb added parent revisions for D19978: Test the AES-CCM test vectors from the NIST Known Answer Tests.: D19977: Use more descriptive algorithm names in skip messages., D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors..
Fri, Apr 19, 10:17 PM
jhb created D19978: Test the AES-CCM test vectors from the NIST Known Answer Tests..
Fri, Apr 19, 10:16 PM
jhb created D19977: Use more descriptive algorithm names in skip messages..
Fri, Apr 19, 10:15 PM
jhb committed rS346419: Sync cryptographic algorithm constants with current cryptodev.h..
Sync cryptographic algorithm constants with current cryptodev.h.
Fri, Apr 19, 9:59 PM
jhb closed D19881: Sync cryptographic algorithm constants with current cryptodev.h..
Fri, Apr 19, 9:59 PM
jhb added a comment to D19974: Remove vestiges of ia64, alpha, and pc98 from our documentation and websites.

I think most of this shouldn't be removed. The PR is quite a bit wrong, too since it is worried about the Tiers chapter in the CG saying that pc98 was removed in 12. However, 11.x is still a supported release and we should still be documenting pc98. I think keeping the small, stub pages for removed architectures in their current state listing when they were supported is also helpful on balance. They are clearly marked as unsupported on the platforms page. To Ed's point, I wonder how current any of the sentex machine list is.

Fri, Apr 19, 9:35 PM
jhb added a comment to D19972: in_pcb_lport: Don't attempt to randomize if random(4) is unavailable.

Is this a case where 'not very random' PRNG output is still better than "sequential port assignment"? That is, if we had a variant of arc4random() that would fail to "weak output" rather than blocking?

Fri, Apr 19, 8:33 PM
jhb added a comment to D19948: Add witness(4) warnings around potentially blocking requests for random.

I'm not sure a per-thread flag is quite right. For example, a crypto driver might check the flag and reject attempts to create sessions in its crypto_newsession callback, but later uses of arc4random to generate IV's will occur in different threads (e.g. from a TCP timer that transmits a packet via IPsec).

Fri, Apr 19, 8:30 PM
jhb added inline comments to D19971: Three commits for routines to convert text to EFI_DEVICE_PATH.
Fri, Apr 19, 7:47 PM
jhb accepted D19971: Three commits for routines to convert text to EFI_DEVICE_PATH.
Fri, Apr 19, 7:23 PM

Thu, Apr 18

jhb committed rS346360: Push down INP_WLOCK slightly in tcp_ctloutput..
Push down INP_WLOCK slightly in tcp_ctloutput.
Thu, Apr 18, 11:22 PM
jhb closed D19740: Push down INP_WLOCK slightly in tcp_ctloutput..
Thu, Apr 18, 11:22 PM
jhb added a comment to D19904: bhyve: Add Integrated Endpoint to PCIe Capability.

I suspect almost all of the other pci-e devices in bhyve are also actually endpoints and not ports. Note that right now there are no PCI bridges in boyce's topology and everything is on PCI bus zero.

Thu, Apr 18, 10:53 PM

Fri, Apr 12

jhb accepted D19885: sort(1): Memoize MD5 computation to reduce repeated computation.
Fri, Apr 12, 7:00 PM
jhb added inline comments to D19885: sort(1): Memoize MD5 computation to reduce repeated computation.
Fri, Apr 12, 5:31 PM

Thu, Apr 11

jhb added a comment to D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors..

BTW, sadly all the CCM descrypt vectors use nonce lens of either 7 or 13, never 12, so none of the decrypt tests can be run with OCF currently.

Thu, Apr 11, 9:45 PM
jhb added inline comments to D19884: Run the plain SHA digest tests from NIST..
Thu, Apr 11, 9:44 PM
jhb added a comment to D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors..

I will need to get some ports person to sign off on this eventually, but that's not a big deal. BTW, I have CCM tests partially working and hope to upload that diff to phab soon.

Thu, Apr 11, 9:17 PM
jhb added parent revisions for D19884: Run the plain SHA digest tests from NIST.: D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors., D19881: Sync cryptographic algorithm constants with current cryptodev.h..
Thu, Apr 11, 9:14 PM
jhb added a child revision for D19881: Sync cryptographic algorithm constants with current cryptodev.h.: D19884: Run the plain SHA digest tests from NIST..
Thu, Apr 11, 9:14 PM
jhb added a child revision for D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors.: D19884: Run the plain SHA digest tests from NIST..
Thu, Apr 11, 9:14 PM
jhb created D19884: Run the plain SHA digest tests from NIST..
Thu, Apr 11, 9:14 PM
jhb added a child revision for D19881: Sync cryptographic algorithm constants with current cryptodev.h.: D19882: Test SHA2-224-HMAC now that OCF supports it..
Thu, Apr 11, 8:20 PM
jhb added a parent revision for D19882: Test SHA2-224-HMAC now that OCF supports it.: D19881: Sync cryptographic algorithm constants with current cryptodev.h..
Thu, Apr 11, 8:20 PM
jhb created D19882: Test SHA2-224-HMAC now that OCF supports it..
Thu, Apr 11, 8:20 PM
jhb created D19881: Sync cryptographic algorithm constants with current cryptodev.h..
Thu, Apr 11, 8:19 PM

Wed, Apr 10

jhb added a comment to D19869: Add a new uefi-edk2-qemu port..

In this case though it isn't the host arch (ARCH) but a target architecture for the binary blob. That does seem like something flavors would handle, but slave ports also work. I thought part of the point of flavors was to make it easier to not have slave ports by encapsulating all the slave ports in a single port.

Wed, Apr 10, 6:03 PM
jhb added a comment to D19869: Add a new uefi-edk2-qemu port..

Or instead of slave ports, flavors, where each target arch was a separate flavor. In that case you would keep the port name as it was and just append ARCH to the page name as it's flavor name.

Wed, Apr 10, 5:32 PM
jhb added inline comments to D19870: Parse simple MIPS relocations to unbreak kldxref on MIPS..
Wed, Apr 10, 3:39 PM

Tue, Apr 9

jhb created D19870: Parse simple MIPS relocations to unbreak kldxref on MIPS..
Tue, Apr 9, 11:06 PM
jhb accepted D19868: fix cache_lookup's documentation.
Tue, Apr 9, 10:03 PM
jhb committed rS346066: Refine r330113 to honor the ProducerConsumer flag most of the time..
Refine r330113 to honor the ProducerConsumer flag most of the time.
Tue, Apr 9, 9:18 PM
jhb committed rS346063: Don't pre-reserve resources for CPU devices when they are set..
Don't pre-reserve resources for CPU devices when they are set.
Tue, Apr 9, 7:22 PM
jhb accepted D19833: pci_cfgreg.c: Use io port config access for early boot time..
Tue, Apr 9, 4:53 PM
jhb accepted D19833: pci_cfgreg.c: Use io port config access for early boot time..
Tue, Apr 9, 4:04 PM
jhb created D19853: [security/nist-kat]: Add AES-CCM and plain SHA digest test vectors..
Tue, Apr 9, 12:06 AM

Mon, Apr 8

jhb added inline comments to D19833: pci_cfgreg.c: Use io port config access for early boot time..
Mon, Apr 8, 10:16 PM
jhb added a comment to D19298: AESNI version of CCM+CBC-MAC.

Just a couple of thoughts from what I've seen flying by:

Mon, Apr 8, 9:02 PM
jhb added a comment to D19833: pci_cfgreg.c: Use io port config access for early boot time..
In D19833#426028, @kib wrote:
In D19833#425992, @jhb wrote:

Hmm, so scottl@ added this version of MMIO access before we looked at the MCFG table, and I'm not sure that the BIOS for these chipsets don't actually already provide the MCFG table.

At least on the machine of the person who reported the problem, there is MCFG table. Chipset MCH is E7500.

However, on systems where we rely on the MCFG table, we won't have parsed the table to setup the mapping until later anyway, so I think the change is ok. Alternatively, we could move the fallback for these chipsets into a separate function that we explicitly call at around the same time we parse MCFG and just do it later in boot once it's ok to map the table, but that's a lot more work (though maybe not if we just call it from the pmap code at the time that pmap_initialized is set?) Reading the commit message was a bit confusing to me at first, so I think it might be useful to say that this makes those chipsets act more like other chipsets where we use MCFG as with MCFG we don't enable mmio access until part-way through the boot.

In fact, in the later response I proposed to remove the fallback at all. We require ACPI on amd64, and it seems that at least one BIOS is not so much broken to not provide MCFG.

Mon, Apr 8, 8:58 PM
jhb added inline comments to D18028: Summary: Add support for Intel Speed Shift.
Mon, Apr 8, 6:11 PM
jhb added a comment to D19833: pci_cfgreg.c: Use io port config access for early boot time..

Hmm, so scottl@ added this version of MMIO access before we looked at the MCFG table, and I'm not sure that the BIOS for these chipsets don't actually already provide the MCFG table. However, on systems where we rely on the MCFG table, we won't have parsed the table to setup the mapping until later anyway, so I think the change is ok. Alternatively, we could move the fallback for these chipsets into a separate function that we explicitly call at around the same time we parse MCFG and just do it later in boot once it's ok to map the table, but that's a lot more work (though maybe not if we just call it from the pmap code at the time that pmap_initialized is set?) Reading the commit message was a bit confusing to me at first, so I think it might be useful to say that this makes those chipsets act more like other chipsets where we use MCFG as with MCFG we don't enable mmio access until part-way through the boot.

Mon, Apr 8, 4:43 PM

Fri, Apr 5

jhb added a comment to D18028: Summary: Add support for Intel Speed Shift.

BTW, this booted fine on my X1 today (I just pulled the git branch).

Fri, Apr 5, 9:37 PM
jhb committed rP497977: Fix build with clang 8..
Fix build with clang 8.
Fri, Apr 5, 7:08 PM
jhb closed D19602: [devel/mdb]: Fix build with clang 8..
Fri, Apr 5, 7:08 PM
jhb added a comment to D19831: Add PT_GETREGSET.
In D19831#425341, @kib wrote:

If you return whole XSTATE from ptrace(PT_GETREGSET, NT_X86_XSTATE), what is the point of the new API ? It would make much more sense to me if there was an API to get components like YMM/ZMM/PKRU instead of returning whole blob and then requiring the caller to parse it combining XCR0 bitmask with either prior knowledge of the component sizes, or querying the offsets on live machine.

Fri, Apr 5, 4:52 PM
jhb accepted D19646: Add BUS_RESET() and devctl reset..
Fri, Apr 5, 4:47 PM
jhb added a reviewer for D19831: Add PT_GETREGSET: kib.
Fri, Apr 5, 3:44 PM
jhb added a comment to D19831: Add PT_GETREGSET.

Hmm, do you have plans for a PT_SETREGSET as well? To replace the ARM VFP, and PPC VMX, etc. sets we need set, not just get. Also, as I said previously on IRC I would like to have a PT_GETREGSET_INFO where the iovec in addr points to a structure. The first field would always be a uint64_t size member, but the rest of the fields could vary by note type. For XSTATE the structure would also hold the xcr0 mask to replace PT_GETXSTATE_INFO, so something like:

Fri, Apr 5, 3:43 PM

Thu, Apr 4

jhb accepted D19695: bhyve(8): Fix NVMe data structure copy to guest.
Thu, Apr 4, 5:23 PM

Wed, Apr 3

jhb added inline comments to D19602: [devel/mdb]: Fix build with clang 8..
Wed, Apr 3, 7:03 PM
jhb added a comment to D19602: [devel/mdb]: Fix build with clang 8..

You could get around the 'g' prefix issue with PORTEPOCH but if you don't want to do that I guess it's fine. LGTM.

Wed, Apr 3, 7:02 PM
jhb accepted D19787: bhyve: Stop compiling with -O0..
Wed, Apr 3, 7:00 PM
jhb added inline comments to D19788: bhyve: Use separate fds for stdin and stdout..
Wed, Apr 3, 6:58 PM
jhb added a comment to D19646: Add BUS_RESET() and devctl reset..

Overall looks good, just some minor nits/suggestions.

Wed, Apr 3, 6:20 PM
jhb accepted D19786: bhyve: Fix indentation in uart_emul.c.
Wed, Apr 3, 6:06 PM
jhb added a comment to D19602: [devel/mdb]: Fix build with clang 8..

The patches check __FreeBSD_version already, so it should compile on everything except for 13-head in between clang 8 and r345196. It doesn't seem worth it to me to add an explicit BROKEN just for a small range of OSVERSION values on HEAD.

Wed, Apr 3, 6:03 PM

Mon, Apr 1

jhb added a comment to D19778: Reap idle src bits.

I would probably do anish's change as a separate commit, maybe before the idle bit commit.

Mon, Apr 1, 7:50 PM
jhb added a comment to D19646: Add BUS_RESET() and devctl reset..

In general this looks great to me. The only other caveat that perhaps might just need to be documented somewhere, is that if you have detached or suspended a child device explicitly and then do a reset of the parent, the child device will end up attached. That isn't a new problem though (a system-wide suspend doesn't preserve a device being suspended by devctl suspend). Eventually we might need to track the "desired administrative state" of a device_t kind of like IFF_UP vs IFF_RUNNING in ifnet flags as the proper fix for both cases.

Mon, Apr 1, 5:53 PM
jhb added inline comments to D19587: net: adjust randomized address bits.
Mon, Apr 1, 5:45 PM
jhb added a comment to D19754: cxgbe(4): Integrate with PNP PCIID-based autoload.

It's really @np who should sign off on this. I can blacklist the driver on my dev boxes since since there's now an rc.conf variable to exempt drivers from devmatch which would be sufficient for my needs.

Mon, Apr 1, 5:42 PM

Sat, Mar 30

jhb added a comment to D19482: If CROSS_TOOLCHAIN isn't set, look for base toolchain makefiles..

FYI, as an update I found that this did break a cross-build that didn't use an explicit CROSS_TOOLCHAIN, e.g. `make buildworld TARGET_ARCH=i386```. I haven't committed this yet or the port changes to add the new files. I'll have to think a bit more about what the right solution is. I'd really like this to be seamless in terms of the base toolchain just being used without having to have an explicit CROSS_TOOLCHAIN.

Sat, Mar 30, 12:08 AM

Fri, Mar 29

jhb committed rS345712: Don't check the inp socket pointer in in_pcboutput_eagain..
Don't check the inp socket pointer in in_pcboutput_eagain.
Fri, Mar 29, 7:47 PM
jhb committed rS345665: MFC 318562: Exclude ccr(4) from arm LINT since it excludes cxgbe(4)..
MFC 318562: Exclude ccr(4) from arm LINT since it excludes cxgbe(4).
Fri, Mar 29, 12:05 AM

Thu, Mar 28

jhb committed rS345664: MFC 330040,330041,330079,330884,330946,330947,331649,333068,333810,337722,.
MFC 330040,330041,330079,330884,330946,330947,331649,333068,333810,337722,
Thu, Mar 28, 11:43 PM
jhb created D19740: Push down INP_WLOCK slightly in tcp_ctloutput..
Thu, Mar 28, 9:17 PM
jhb committed rS345659: Use a dedicated malloc type for lagg(4)'s structures..
Use a dedicated malloc type for lagg(4)'s structures.
Thu, Mar 28, 9:01 PM
jhb closed D19719: Use a dedicated malloc type for lagg(4)'s structures..
Thu, Mar 28, 9:01 PM
jhb added a comment to D14634: [new port] security/openssl-chelsio: SSL and crypto library supporting Chelsio TLS offload.

@brnrd I've rebased this patchset to be relative to OpenSSL 1.1.1 rather than 1.0.2. It is now much closer to the 1.1.1 port. It installs into a dedicated directory so it does not conflict with other openssl ports. It matches the 12.x base shared library version so that it could be used with LD_LIBRARY_PATH, but in theory a user could also use libmap to use it with ports built against the openssl111 port. It generally borrows all of the patches other than the extra chelsio patch from the openssl111 port. I didn't make this a slave port b/c I didn't want it to be a drag on updating the main openssl port in case the patches didn't apply out-of-the-box to newer versions, etc.

Thu, Mar 28, 8:58 PM
jhb added inline comments to D19587: net: adjust randomized address bits.
Thu, Mar 28, 8:46 PM
jhb committed rS345655: Remove nested epochs from lagg(4)..
Remove nested epochs from lagg(4).
Thu, Mar 28, 8:25 PM
jhb closed D19718: Remove nested epochs from lagg(4)..
Thu, Mar 28, 8:25 PM
jhb added a comment to D19718: Remove nested epochs from lagg(4)..

I've now tested this via netperf using RATELIMIT using the various lagg protocols under an INVARIANTS kernel.

Thu, Mar 28, 8:23 PM

Wed, Mar 27

jhb added a comment to D19482: If CROSS_TOOLCHAIN isn't set, look for base toolchain makefiles..

Technically seems fine.
Feels like a POLA issue though. If I happened to have some package installed then buildworld behaved differently.
Maybe CROSS_TOOLCHAIN=yes or CROSS_TOOLCHAIN=base?
I don't really care either way; default on like you have is fine too as I don't fully understand the use case.

Wed, Mar 27, 10:53 PM
jhb added inline comments to D19718: Remove nested epochs from lagg(4)..
Wed, Mar 27, 3:38 PM
jhb added a parent revision for D19720: Add toolchain makefiles to base/binutils and base/gcc.: D19482: If CROSS_TOOLCHAIN isn't set, look for base toolchain makefiles..
Wed, Mar 27, 1:16 AM
jhb added a child revision for D19482: If CROSS_TOOLCHAIN isn't set, look for base toolchain makefiles.: D19720: Add toolchain makefiles to base/binutils and base/gcc..
Wed, Mar 27, 1:16 AM
jhb created D19720: Add toolchain makefiles to base/binutils and base/gcc..
Wed, Mar 27, 1:15 AM
jhb created D19719: Use a dedicated malloc type for lagg(4)'s structures..
Wed, Mar 27, 1:03 AM
jhb created D19718: Remove nested epochs from lagg(4)..
Wed, Mar 27, 12:52 AM

Tue, Mar 26

jhb committed rS345557: Add special psuedo-options for the base/{binutils,gcc} ports..
Add special psuedo-options for the base/{binutils,gcc} ports.
Tue, Mar 26, 8:56 PM
jhb closed D19483: Add WITH_BASE_BINUTILS and WITH_BASE_GCC knobs for check-old/delete-old..
Tue, Mar 26, 8:56 PM
jhb committed rS345555: Remove the TIMED src option from the list of options..
Remove the TIMED src option from the list of options.
Tue, Mar 26, 8:44 PM
jhb closed D19486: Remove the TIMED src option from the list of options..
Tue, Mar 26, 8:44 PM
jhb abandoned D19566: WIP to import libcxxabi.

I had labored under the incorrect assumption that libcxxrt was somewhat abandoned and that all other libc++ consumers used libc++abi, however, it seems that it's only Apple and OpenBSD that use libc++abi. NetBSD still uses libcxxrt. Also, when I compared the repositories both libcxxrt and libcxxabi had basically no real activity in the last two years. libcxxabi had more commits, but they were all due to relicensing and moving to monorepo.

Tue, Mar 26, 4:29 PM
jhb accepted D19648: Add/enable option to allow tsc as timecounter for VM.

Tiny style nits can be fixed when this is committed.

Tue, Mar 26, 4:24 PM
jhb committed rS345068: Move libunwind out of contrib/llvm/projects..
Move libunwind out of contrib/llvm/projects.
Tue, Mar 26, 4:21 PM
jhb closed D19534: Move libunwind out of contrib/llvm/projects..
Tue, Mar 26, 4:21 PM
jhb added a comment to D19580: Fix bhyve PCIe capability emulation.
In D19580#422125, @jhb wrote:

Hmm, due to what this bit actually does, I'd probably be inclined to not set it if we don't need it. When the role based error reporting is set, it means we also support at least one other register to configure the mask of fatal vs non-fatal errors IIRC which I'm pretty sure we don't do. I had assumed Windows was failing to boot without this bit set. If Windows is actually fine then I think I'd prefer we drop it until we find a need for it. A PCIe 1.0 device can have this bit clear and still be compliant. The other thing about being a special endpoint when directly hung off the RC would be required even for 1.0 compliance.

I'm happy to revert this change but wanted to double check the "PCIe 1.0" comment. Even though the code advertises Gen1 speeds, the PCIe Capability Version field is set to 0x2 which I don't think a 1.0 device would do. Should this be changed to 0x1?

Tue, Mar 26, 4:00 PM

Mon, Mar 25

jhb accepted D19705: Avoid mapping the current directory with -fdebug-prefix-map..
Mon, Mar 25, 11:56 PM
jhb accepted D19676: bhyve: Fix NVMe BAR size calculation.
Mon, Mar 25, 10:06 PM
jhb added a comment to D19580: Fix bhyve PCIe capability emulation.

One of @jhb requests was a comment on why the RBER change was needed. Here is the thought process:

qemu in their PCIe emulation (hw/pci/pcie.c) has the comment

/*
 * Windows guests will report Code 10, device cannot start, if
 * a regular Endpoint type is exposed on a root complex.  These
 * should instead be Root Complex Integrated Endpoints.
 */

If true, and Windows is actually validating PCIe capability structures to this degree, then it seemed prudent to set other bits in this area as required by the PCIe spec.

As to where to go from here, I'm conflicted. On the one hand, the change doesn't seem to fix anything from my testing. On the other hand, given this comment in qemu and the recent experience of Windows validating the size of BAR0 in NVMe devices, I'm tempted to go back through the PCIe spec and make sure that bhyve's PCIe capability structure is compliant.

Mon, Mar 25, 10:05 PM
jhb added inline comments to D19705: Avoid mapping the current directory with -fdebug-prefix-map..
Mon, Mar 25, 9:54 PM

Fri, Mar 22

jhb added inline comments to D19676: bhyve: Fix NVMe BAR size calculation.
Fri, Mar 22, 4:28 PM

Mar 19 2019

jhb added a comment to D19648: Add/enable option to allow tsc as timecounter for VM.

I'm curious which hypervisor you have tested this under and did you consider using one of the virtualized clocks if one was available? I know that there are some early patches to add kvmclock support to bhyve for example.

Mar 19 2019, 9:10 PM
jhb added inline comments to D19646: Add BUS_RESET() and devctl reset..
Mar 19 2019, 5:29 PM