jhb (John Baldwin)
User

Projects (7)

User Details

User Since
Mar 11 2014, 8:46 PM (214 w, 6 d)

Recent Activity

Today

jhb committed rS332910: Relock PROC_LOCK before one failure case in ptrace_single_step()..
Relock PROC_LOCK before one failure case in ptrace_single_step().
Tue, Apr 24, 5:42 AM
jhb committed rS332909: Report proper signal codes for SIGTRAP traps on MIPS..
Report proper signal codes for SIGTRAP traps on MIPS.
Tue, Apr 24, 5:33 AM
jhb committed rS332908: Add two tests for TRAP_* signal codes for SIGTRAP..
Add two tests for TRAP_* signal codes for SIGTRAP.
Tue, Apr 24, 5:30 AM
jhb committed rS332907: Expose breakpoint() to userland from <machine/cpufunc.h> on MIPS..
Expose breakpoint() to userland from <machine/cpufunc.h> on MIPS.
Tue, Apr 24, 5:26 AM
jhb committed rS332906: Extend support for ptrace() tests using breakpoints..
Extend support for ptrace() tests using breakpoints.
Tue, Apr 24, 5:20 AM

Yesterday

jhb added a comment to D15157: Execute mca_init() under the ap_boot_mtx spinlock..

Humm, that's not just a cosmetic error. cmci_monitor() assumes it is not being run concurrently on multiple CPUs so that if a given MC# bank is shared, only one CPU monitors it. It seems this is a very old bug of mine from the original CMCI commit. :( Arguably mca_init() should perhaps lock the mca_lock, but that is a bit trickier perhaps. The lock isn't initialized when mca_init() is called for the BSP. While I would prefer to do locking in mca.c for clarity reasons it would be a bit messier. This is ok, but perhaps add a comment to mca_init() saying we rely on the ap_boot_mtx to serialize it (just the boot-time mca_init(), not the resume mca_resume()).

Mon, Apr 23, 9:04 PM
jhb committed rS332892: Implement 32-bit atomic_fcmpset() in userland for armv4/v5..
Implement 32-bit atomic_fcmpset() in userland for armv4/v5.
Mon, Apr 23, 5:00 PM
jhb added a comment to D15147: Implement 32-bit atomic_fcmpset() in userland for armv4/v5..
In D15147#319396, @jmg wrote:

I have an spare BBB, and I can test this if you send me an image + test case. I'm not setup for building images right now.

The code looks correct, sans all the type changes. I'd recommend committing the type changes separately from fcmpset change.

Mon, Apr 23, 4:58 PM
jhb committed rS332891: Fix some harmless type mismatches in the ARM atomic_cmpset implementations..
Fix some harmless type mismatches in the ARM atomic_cmpset implementations.
Mon, Apr 23, 4:51 PM
jhb closed D15147: Implement 32-bit atomic_fcmpset() in userland for armv4/v5..
Mon, Apr 23, 4:50 PM

Fri, Apr 20

jhb created D15147: Implement 32-bit atomic_fcmpset() in userland for armv4/v5..
Fri, Apr 20, 9:21 PM
jhb accepted D15138: Correct undesirable interaction between caching of %cr4 in bhyve and invltlb_glob()..

This looks sensible to me.

Fri, Apr 20, 5:00 PM

Thu, Apr 19

jhb committed rS332782: Simplify the code to allocate stack for auxv, argv[], and environment vectors..
Simplify the code to allocate stack for auxv, argv[], and environment vectors.
Thu, Apr 19, 4:00 PM
jhb closed D15123: Simplify the code to allocate stack for auxv, argv[], and environment vectors..
Thu, Apr 19, 4:00 PM
jhb updated the diff for D15123: Simplify the code to allocate stack for auxv, argv[], and environment vectors..
  • Use howmany() and pointer subtraction for auxargs.
Thu, Apr 19, 2:58 AM
jhb committed rS332743: MFC 331466:.
MFC 331466:
Thu, Apr 19, 12:11 AM
jhb added inline comments to D15123: Simplify the code to allocate stack for auxv, argv[], and environment vectors..
Thu, Apr 19, 12:03 AM

Wed, Apr 18

jhb committed rD51572: Various updates to the kernel debugging chapter..
Various updates to the kernel debugging chapter.
Wed, Apr 18, 11:49 PM
jhb closed D14711: Various updates to the kernel debugging chapter..
Wed, Apr 18, 11:49 PM
jhb accepted D14998: Add support for linker-type-specific flags.
Wed, Apr 18, 7:20 PM
jhb accepted D15093: set kdb_why to "trap" when calling kdb_trap from trap_fatal.
Wed, Apr 18, 7:19 PM
jhb created D15127: Fix GCC 4.2.1 to honor --sysroot for includes..
Wed, Apr 18, 6:50 PM
jhb committed rS332735: Fix two off-by-one errors when allocating MSI and MSI-X interrupts..
Fix two off-by-one errors when allocating MSI and MSI-X interrupts.
Wed, Apr 18, 6:45 PM
jhb committed rS332733: Workaround fixed I/O port resources encoded as I/O port ranges in _CRS..
Workaround fixed I/O port resources encoded as I/O port ranges in _CRS.
Wed, Apr 18, 6:36 PM
jhb added inline comments to D15022: Initial debug server for bhyve..
Wed, Apr 18, 5:05 PM

Tue, Apr 17

jhb created D15123: Simplify the code to allocate stack for auxv, argv[], and environment vectors..
Tue, Apr 17, 10:58 PM
jhb added a comment to D15022: Initial debug server for bhyve..

Ping?

Tue, Apr 17, 6:09 PM
jhb committed rS332657: Properly do a deep copy of the ioctls capability array for fget_cap()..
Properly do a deep copy of the ioctls capability array for fget_cap().
Tue, Apr 17, 6:08 PM
jhb closed D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..
Tue, Apr 17, 6:07 PM
jhb added inline comments to D15093: set kdb_why to "trap" when calling kdb_trap from trap_fatal.
Tue, Apr 17, 5:30 PM
jhb accepted D14898: Implement DDB show vpath.

There is also ddb.4 though many commands are not documented in it.

Tue, Apr 17, 3:50 PM
jhb added inline comments to D15093: set kdb_why to "trap" when calling kdb_trap from trap_fatal.
Tue, Apr 17, 3:43 PM
jhb accepted D15115: top: fix warnings from clang/gcc.

Not sure if this will add conflicts for any future merges, but I don't think there's an upstream for our current top. (I think any upstream that might exist is probably quite a bit diverged already)

Tue, Apr 17, 3:30 PM

Mon, Apr 16

jhb committed rS332633: MFC 331324: Ensure thread library is initialized in pthread_testcancel()..
MFC 331324: Ensure thread library is initialized in pthread_testcancel().
Mon, Apr 16, 8:45 PM
jhb added inline comments to D15101: Stop using fuswintr() and suswintr() in the profiler..
Mon, Apr 16, 8:02 PM
jhb accepted D15099: aio: return EAGAIN instead of EIO when out of resources.

Test and change look good, just some style suggestions.

Mon, Apr 16, 5:59 PM
jhb added inline comments to D15093: set kdb_why to "trap" when calling kdb_trap from trap_fatal.
Mon, Apr 16, 5:53 PM

Fri, Apr 13

jhb edited P172 Possible copyout_strings cleanup.
Fri, Apr 13, 8:58 PM
jhb created P172 Possible copyout_strings cleanup.
Fri, Apr 13, 8:52 PM
jhb added inline comments to D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..
Fri, Apr 13, 7:26 PM
jhb added a comment to D15054: Stop clearing PSL_T on the trace trap..

So I know that debuggers expect that after a PT_STEP stepping is disabled when the resulting SIGTRAP is reported. I suspect this will break gdb at least. That is, the debugger expects to do something like:

Fri, Apr 13, 6:15 PM

Thu, Apr 12

jhb added a comment to D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..

I think the #ifdef just makes it look like the code is in the middle of the block. I think it would be clearer to read if the #ifdef were reversed so that the CAPSICUM code came first as then you'd have the rest of the vars right after the #ifdef and only a bit of code in the #else.

Thu, Apr 12, 6:46 PM
jhb added a dependency for D15022: Initial debug server for bhyve.: D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..
Thu, Apr 12, 6:44 PM
jhb added a dependent revision for D15047: Properly do a deep copy of the ioctls capability array for fget_cap().: D15022: Initial debug server for bhyve..
Thu, Apr 12, 6:44 PM
jhb added inline comments to D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..
Thu, Apr 12, 4:30 PM

Wed, Apr 11

jhb created D15047: Properly do a deep copy of the ioctls capability array for fget_cap()..
Wed, Apr 11, 11:36 PM
jhb created P165 x86 MSI off by one.
Wed, Apr 11, 10:31 PM
jhb committed rS332420: MFC 328101,328911: Require SHF_ALLOC for kernel object module sections..
MFC 328101,328911: Require SHF_ALLOC for kernel object module sections.
Wed, Apr 11, 10:23 PM

Tue, Apr 10

jhb added inline comments to D14996: Translate 32-bit ifmedia requests into native ones..
Tue, Apr 10, 1:14 AM

Mon, Apr 9

jhb accepted D14978: Refactor PCIOCGETCONF for improved readability..
Mon, Apr 9, 10:27 PM
jhb created D15022: Initial debug server for bhyve..
Mon, Apr 9, 8:43 PM

Sat, Apr 7

jhb committed rP466701: Bring over some fixes from the other external GCC toolchain ports..
Bring over some fixes from the other external GCC toolchain ports.
Sat, Apr 7, 12:29 AM
jhb closed D14787: Bring over some fixes from the other external GCC toolchain ports..
Sat, Apr 7, 12:29 AM
jhb committed rP466699: Fix two more issues with r465416..
Fix two more issues with r465416.
Sat, Apr 7, 12:27 AM
jhb closed D14925: Fix two more issues with r465416..
Sat, Apr 7, 12:27 AM
jhb added a comment to D14925: Fix two more issues with r465416..

I'm going to commit the current patch for now to unbreak the non-xtoolchain gcc ports, but I'm happy to refine the condition later if there is a better one to use.

Sat, Apr 7, 12:24 AM

Fri, Apr 6

jhb closed D14466: Add a way to temporarily suspend and resume virtual CPUs..
Fri, Apr 6, 10:03 PM
jhb committed rS332157: Add a way to temporarily suspend and resume virtual CPUs..
Add a way to temporarily suspend and resume virtual CPUs.
Fri, Apr 6, 10:03 PM
jhb added inline comments to D14978: Refactor PCIOCGETCONF for improved readability..
Fri, Apr 6, 9:15 PM
jhb added inline comments to D14925: Fix two more issues with r465416..
Fri, Apr 6, 9:10 PM
jhb added a comment to D14466: Add a way to temporarily suspend and resume virtual CPUs..

Andriy, looks sane to me too. Thanks! Peter, are you ok with this now?

Fri, Apr 6, 6:50 PM
jhb added inline comments to D14978: Refactor PCIOCGETCONF for improved readability..
Fri, Apr 6, 6:48 PM
jhb added a comment to D14978: Refactor PCIOCGETCONF for improved readability..

One other possibility is to define a helper struct that contains the structure sizes and has function pointer callbacks (kevent and aio took this approach), but this is probably fine.

Fri, Apr 6, 6:45 PM
jhb added a comment to D14711: Various updates to the kernel debugging chapter..

Any thoughts?

Fri, Apr 6, 6:38 PM
jhb accepted D14979: Update VMCI license.

Thanks.

Fri, Apr 6, 6:36 PM
jhb added a comment to D14880: acpidump: always fetch the RSDP from sysctl.

I think it would be fine to prefer the sysctl to the kenv, but imagine booting a kernel with 'hint.acpi.0.disabled=1'. In that case I think you would want acpidump to honor the kenv hint from the loader's memory scan (or from an EFI table) rather than doing the memory scan in acpidump? But also, I don't think the commit log is accurate to say that the hint can be wrong. We currently assume it is correct if set.

Fri, Apr 6, 6:33 PM

Tue, Apr 3

jhb accepted D14941: Move most of the contents of opt_compat.h to opt_global.h..
Tue, Apr 3, 6:04 PM

Sun, Apr 1

jhb updated the summary of D14787: Bring over some fixes from the other external GCC toolchain ports..
Sun, Apr 1, 6:04 PM
jhb updated the diff for D14787: Bring over some fixes from the other external GCC toolchain ports..
  • Changes to use libc++ instead of libstc++.
  • Define CROSS_DIRECTORY_STRUCTURE always.
Sun, Apr 1, 6:01 PM
jhb created D14925: Fix two more issues with r465416..
Sun, Apr 1, 5:58 PM

Sat, Mar 31

jhb added a comment to D14466: Add a way to temporarily suspend and resume virtual CPUs..
In D14466#313304, @avg wrote:
In D14466#313263, @jhb wrote:

Andriy, does that mean you were able to test the debug server itself on AMD?

I've only reviewed it.
I can do a test if you'd like, just give me some instructions to get started and a couple of days.

Sat, Mar 31, 12:17 AM

Fri, Mar 30

jhb committed rP465987: Remove CONFIGURE_ENV to set C++ include path..
Remove CONFIGURE_ENV to set C++ include path.
Fri, Mar 30, 5:25 PM
jhb closed D14882: Remove CONFIGURE_ENV to set C++ include path..
Fri, Mar 30, 5:25 PM

Thu, Mar 29

jhb added a comment to D14466: Add a way to temporarily suspend and resume virtual CPUs..

Andriy, does that mean you were able to test the debug server itself on AMD?

Thu, Mar 29, 6:19 PM
jhb added a comment to D14890: Add deprecation notices for Arcnet and FDDI drivers..

We've only done direct commits to stable when it was a "oops, I've already removed the driver from head and forgot to do the deprecation notice". In general we should just follow the rule of HEAD first.

Thu, Mar 29, 5:25 PM
jhb committed rS331716: Reformat the enum of syscall argument types..
Reformat the enum of syscall argument types.
Thu, Mar 29, 12:13 AM
jhb committed rS331715: Rename ClouduABIFDSFlags to CloudABIFDSFlags..
Rename ClouduABIFDSFlags to CloudABIFDSFlags.
Thu, Mar 29, 12:04 AM

Wed, Mar 28

jhb accepted D14889: GC never enabled support for SIOCGADDRROM and SIOCGCHIPID..
Wed, Mar 28, 10:51 PM
jhb committed rS331693: MFC 331248: Set the proper vnet in IPsec callback functions..
MFC 331248: Set the proper vnet in IPsec callback functions.
Wed, Mar 28, 5:49 PM
jhb added a comment to D14656: Add SDT probes to the VMX VMexit interface.

Seems ok to me.

Wed, Mar 28, 5:46 PM · DTrace, bhyve
jhb added a comment to D14880: acpidump: always fetch the RSDP from sysctl.

Hmm, what are the cases when the hint is wrong? The kernel always prefers the hint for the acpi0 driver (see sys/x86/acpica/OsdEnvironment.c:AcpiOsGetRootPointer). The hint name is just an implementation detail, it is only set by the loader if the loader actually finds the root pointer via the memory scan or from EFI's system tables.

Wed, Mar 28, 5:43 PM
jhb committed rS331686: Expand remaining instances of 'make kernel' to buildkernel + installkernel..
Expand remaining instances of 'make kernel' to buildkernel + installkernel.
Wed, Mar 28, 4:51 PM
jhb created D14882: Remove CONFIGURE_ENV to set C++ include path..
Wed, Mar 28, 4:27 PM
jhb committed rS331681: Fix kernel builds without options DDB after r331650..
Fix kernel builds without options DDB after r331650.
Wed, Mar 28, 4:25 PM

Tue, Mar 27

jhb accepted D14875: Remove infrastructure for token-ring networks..
Tue, Mar 27, 11:04 PM
jhb added a comment to D14715: Switch mount.conf(8) support to use functions in md(4)..

Bare function pointers is a bit hackish. A couple of thoughts come to mind:

Tue, Mar 27, 9:43 PM
jhb committed rS331650: Remove very old and unused signal information codes..
Remove very old and unused signal information codes.
Tue, Mar 27, 8:58 PM
jhb closed D14637: Remove very old and unused signal information codes..
Tue, Mar 27, 8:58 PM
jhb committed rS331649: Use the offload transmit queue to set flags on TLS connections..
Use the offload transmit queue to set flags on TLS connections.
Tue, Mar 27, 8:55 PM
jhb closed D14871: Use the offload transmit queue to set flags on TLS connections..
Tue, Mar 27, 8:55 PM
jhb committed rS331647: MFC 318387: Add support for child devices that aren't ports..
MFC 318387: Add support for child devices that aren't ports.
Tue, Mar 27, 8:50 PM
jhb committed rS331645: MFC 329785: Move DDP PCB state into a helper structure..
MFC 329785: Move DDP PCB state into a helper structure.
Tue, Mar 27, 8:14 PM
jhb added a comment to D14466: Add a way to temporarily suspend and resume virtual CPUs..

Anything available I could use to test this on AMD ?

Tue, Mar 27, 6:16 PM
jhb created D14871: Use the offload transmit queue to set flags on TLS connections..
Tue, Mar 27, 5:59 PM
jhb added a comment to D14787: Bring over some fixes from the other external GCC toolchain ports..

In testing I found that it needed some additional changes from devel/powerpc64-gcc for libc++. Those appear to have worked, but when I tried a related fix for amd64-gcc I got a weird build error in an amd64 buildworld I haven't resolved yet.

Tue, Mar 27, 2:07 PM
jhb committed rS331603: MFC 330711:.
MFC 330711:
Tue, Mar 27, 12:35 AM
jhb accepted D14838: By default bind interrupts to the set of CPUs in the domain they are connected to.
Tue, Mar 27, 12:00 AM

Mon, Mar 26

jhb added a comment to D14848: Don't access userspace directly from the kernel in nxge(4)..

Agreed that the driver is dubious at best. I'm not sure if it's even really used. I don't think it was a commodity part.

Mon, Mar 26, 10:38 PM
jhb committed rS331597: Update the license to note my work on cryptocheck was sponsored..
Update the license to note my work on cryptocheck was sponsored.
Mon, Mar 26, 10:30 PM
jhb added a comment to D14816: TCP_INFO for offloaded connections..

I don't think we need an explicit shim between TOE drivers and the kernel to try to insulate from changes to 'tcp_info'. 'tcp_info' is already part of the userland ABI, so changes to its layout are already going to require compat shims, etc. (probably a new socket option enum for the new layout, etc.) such that we should be hesitant to change it very often. For KBI breakage you would only have to worry about altering the layout of existing fields in a stable branch (whereas ABI breakage spans multiple stable branches). We already have padding fields to permit adding new fields in our current stable branches. Do we think there are future changes to 'tcp_info' that can't be accommodated by the existing padding fields?

Mon, Mar 26, 5:51 PM