Page MenuHomeFreeBSD

jhibbits (Justin Hibbits)
User

Projects

User Details

User Since
May 16 2014, 7:29 PM (600 w, 5 d)

Recent Activity

Yesterday

jhibbits committed rG9b0102837e30: powerpc: Don't use cache to zero pages (authored by jhibbits).
powerpc: Don't use cache to zero pages
Wed, Nov 19, 4:40 AM

Thu, Nov 6

jhibbits added inline comments to D53599: tmpfs: Include inactive memory in "available" calculation.
Thu, Nov 6, 4:08 PM
jhibbits added inline comments to D53599: tmpfs: Include inactive memory in "available" calculation.
Thu, Nov 6, 3:33 PM
jhibbits added inline comments to D53599: tmpfs: Include inactive memory in "available" calculation.
Thu, Nov 6, 3:01 PM

Wed, Nov 5

jhibbits added reviewers for D53599: tmpfs: Include inactive memory in "available" calculation: markj, kib, mjg.
Wed, Nov 5, 8:05 PM
jhibbits requested review of D53599: tmpfs: Include inactive memory in "available" calculation.
Wed, Nov 5, 8:04 PM

Tue, Nov 4

jhibbits closed D52945: kexec: Add basic kexec_load man page.

Committed as a935c2a63 (don't feel like reverting and updating the commit message)

Tue, Nov 4, 7:25 PM
jhibbits committed rGa935c2a63f92: kexec: Add basic kexec_load man page (authored by jhibbits).
kexec: Add basic kexec_load man page
Tue, Nov 4, 7:23 PM

Thu, Oct 30

jhibbits committed rG5e941ac54da3: powerpc: Move openpic_intr, since it's hidden now (authored by jhibbits).
powerpc: Move openpic_intr, since it's hidden now
Thu, Oct 30, 3:02 AM
jhibbits committed rG8fb17896120d: intr/powerpc: create openpic_class kobj (authored by ehem_freebsd_m5p.com).
intr/powerpc: create openpic_class kobj
Thu, Oct 30, 1:05 AM
jhibbits committed rG319a1dbcf46f: intr/powerpc: cleanup extraneous spaces in PowerMAC CPC HT driver (authored by ehem_freebsd_m5p.com).
intr/powerpc: cleanup extraneous spaces in PowerMAC CPC HT driver
Thu, Oct 30, 1:05 AM
jhibbits updated the diff for D52945: kexec: Add basic kexec_load man page.

Address feedback. I hope I got everything.

Thu, Oct 30, 12:18 AM

Wed, Oct 29

jhibbits added a comment to D53390: random: allow disabling of entropy harvesting from keyboard & mice.

RANDOM_KEYBOARD and RANDOM_MOUSE can be masked away by sysctls. What is the need to remove them this way?

Wed, Oct 29, 2:07 PM

Tue, Oct 28

jhibbits added inline comments to D42982: powerpc: Add first Linuxulator support (ELFv1, BE, powerpc64).
Tue, Oct 28, 6:21 PM
jhibbits added inline comments to D52945: kexec: Add basic kexec_load man page.
Tue, Oct 28, 3:44 PM

Mon, Oct 27

jhibbits updated the diff for D52945: kexec: Add basic kexec_load man page.

Address feedback from @ziaee and @0mp. Thanks!

Mon, Oct 27, 6:23 PM
jhibbits added inline comments to D52945: kexec: Add basic kexec_load man page.
Mon, Oct 27, 6:23 PM
jhibbits committed rG3b9578059cce: kexec: Add dummy headers for arm, i386, powerpc, and riscv (authored by jhibbits).
kexec: Add dummy headers for arm, i386, powerpc, and riscv
Mon, Oct 27, 2:35 PM
jhibbits committed rG16db4c6fff45: amd64: Add kexec support (authored by jhibbits).
amd64: Add kexec support
Mon, Oct 27, 2:35 PM
jhibbits committed rG1ae25866767d: kexec: Introduce basic arm64 support (authored by jhibbits).
kexec: Introduce basic arm64 support
Mon, Oct 27, 2:35 PM
jhibbits committed rGe02c57ff374e: kern: Introduce kexec system feature (MI) (authored by jhibbits).
kern: Introduce kexec system feature (MI)
Mon, Oct 27, 2:35 PM
jhibbits closed D51625: kexec: Add dummy headers for powerpc, arm, and riscv.
Mon, Oct 27, 2:35 PM
jhibbits committed rG190d0a96cf56: amd64: Add cpu_stop() support to go UP after SMP (authored by jhibbits).
amd64: Add cpu_stop() support to go UP after SMP
Mon, Oct 27, 2:35 PM
jhibbits committed rGefd00c75f459: sysent: Regen for kexec_load() (authored by jhibbits).
sysent: Regen for kexec_load()
Mon, Oct 27, 2:35 PM
jhibbits committed rGcb3849930362: x86/intr: Handle case of disabling MSI after release (authored by jhibbits).
x86/intr: Handle case of disabling MSI after release
Mon, Oct 27, 2:35 PM
jhibbits closed D51623: amd64: Add kexec support.
Mon, Oct 27, 2:35 PM
jhibbits closed D51621: kexec: Introduce basic arm64 support.
Mon, Oct 27, 2:35 PM
jhibbits closed D51619: kern: Introduce kexec system feature (MI).
Mon, Oct 27, 2:35 PM
jhibbits closed D51624: x86/intr: Handle case of disabling MSI after release.
Mon, Oct 27, 2:34 PM
jhibbits closed D51622: amd64: Add cpu_stop() support to go UP after SMP.
Mon, Oct 27, 2:34 PM

Fri, Oct 24

jhibbits accepted D53328: dev/ofw: Move ofw_cpu earlier.
Fri, Oct 24, 4:50 PM
jhibbits accepted D53329: dev/ofw: Register the xref.

I'd make the summary more like: dev/ofw: Register ofw_cpu xref.

Fri, Oct 24, 4:49 PM

Wed, Oct 22

jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.
In D51622#1216461, @kib wrote:

I really become curious in which way firmware parks APs after the initial configuration. Coreboot might have something for this.

And indeed, there is very interesting https://github.com/coreboot/coreboot/blob/main/src/cpu/x86/lapic/lapic_cpu_stop.c that is used to park APs. From my reading, they send INIT IPI to itself, which, by the claim in the source file, is equivalent to asserting the INIT# pin.

Wed, Oct 22, 7:53 PM

Oct 21 2025

jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.
In D51622#1179546, @kib wrote:

The loop is only "Just in case" an interrupt comes in that's not disabled (not being an x86 guy, I don't know what's disabled or not with disable_intr() and lapic_disable()). If nothing can come in, then there's no need for the safe memory, since once it halts it's dead.

As I said below, I believe SMI is still possible even in 'cli;hlt' loop. On AMD there is a way to disable SMI and NMI, but I do not think the method to do that is usable for kexec, and there is also Intel without something equivalent.

Oct 21 2025, 3:44 PM

Oct 20 2025

jhibbits updated the diff for D51623: amd64: Add kexec support.

Address @kib's feedback. kexec_do_reboot() no longer takes an argument, and hasn't even in the first commit, so remove the argument from the prototype. Removed the wbinvd from the trampoline.

Oct 20 2025, 2:04 PM

Oct 14 2025

jhibbits updated the diff for D51623: amd64: Add kexec support.

Address @kib's feedback further. I didn't reproduce the problem we solved with mfence, so removed that.

Oct 14 2025, 7:33 PM

Oct 7 2025

jhibbits added inline comments to D52945: kexec: Add basic kexec_load man page.
Oct 7 2025, 2:34 PM

Oct 6 2025

jhibbits requested review of D52945: kexec: Add basic kexec_load man page.
Oct 6 2025, 9:22 PM
jhibbits updated the diff for D51623: amd64: Add kexec support.

Address @kib's feedback.

Oct 6 2025, 9:16 PM
jhibbits added a comment to D51623: amd64: Add kexec support.
In D51623#1209399, @kib wrote:

I might suggest, to not delay the commit even more, simply refuse kexec for now if we are in LA57. Then somebody would work out the missing code in the trampoline later.

Oct 6 2025, 2:42 PM
jhibbits added a comment to D51623: amd64: Add kexec support.
In D51623#1209045, @kib wrote:

It seems that you always build 4-level intermediate page table. Wouldn't it blow up if the source kernel is running in LA57 mode? [Kernel always expect LA48 on start nonetheless]

Oct 6 2025, 1:28 PM

Sep 30 2025

jhibbits updated the diff for D51623: amd64: Add kexec support.

Address feedback. I hope I got it all now.

Sep 30 2025, 8:01 PM

Sep 25 2025

jhibbits added inline comments to D52731: sys/netinet6: Use atomic(9) for dad_failures counter.
Sep 25 2025, 3:16 PM
jhibbits committed rG904ac13eed05: watchdog: Update man page for new API (authored by jhibbits).
watchdog: Update man page for new API
Sep 25 2025, 1:54 PM
jhibbits closed D52479: watchdog: Update man page for new API.
Sep 25 2025, 1:54 PM

Sep 24 2025

jhibbits updated the diff for D52479: watchdog: Update man page for new API.

Address feedback on ioctl list.

Sep 24 2025, 8:56 PM

Sep 22 2025

jhibbits updated the diff for D51621: kexec: Introduce basic arm64 support.

Address feedback. I think I got it all.

Sep 22 2025, 7:54 PM

Sep 17 2025

jhibbits updated the diff for D42982: powerpc: Add first Linuxulator support (ELFv1, BE, powerpc64).

Further updates. vdso maps correctly.

Sep 17 2025, 2:01 AM

Sep 10 2025

jhibbits requested review of D52479: watchdog: Update man page for new API.
Sep 10 2025, 8:55 PM

Sep 8 2025

jhibbits updated the diff for D51619: kern: Introduce kexec system feature (MI).

Address feedback from @kib and @brooks.

Sep 8 2025, 2:11 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Sep 8 2025, 2:08 PM

Sep 3 2025

jhibbits accepted D52362: IfAPI: fix LINT-NOIP build.
Sep 3 2025, 6:27 PM

Aug 29 2025

jhibbits committed rGe2f492a9ac65: TPM: Add hint check to skip TPM IRQ configuration (authored by amitgu_juniper.net).
TPM: Add hint check to skip TPM IRQ configuration
Aug 29 2025, 5:57 PM
jhibbits closed D52048: TPM: Add hint check to skip TPM IRQ configuration.
Aug 29 2025, 5:57 PM

Aug 25 2025

jhibbits updated the diff for D51619: kern: Introduce kexec system feature (MI).

Address feedback. I think I got it all.

Aug 25 2025, 5:15 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 25 2025, 5:13 PM

Aug 20 2025

jhibbits added reviewers for D52048: TPM: Add hint check to skip TPM IRQ configuration: kd, mw.
Aug 20 2025, 3:31 PM

Aug 14 2025

jhibbits committed rG69f7d6912a24: watchdog: Add a new "Control" ioctl (authored by jhibbits).
watchdog: Add a new "Control" ioctl
Aug 14 2025, 7:03 PM
jhibbits committed rG26d6617f3e54: watchdog: Convert to using sbintime_t format (authored by jhibbits).
watchdog: Convert to using sbintime_t format
Aug 14 2025, 7:03 PM
jhibbits closed D49183: watchdog: Convert to using sbintime_t format.
Aug 14 2025, 7:03 PM
jhibbits closed D49182: watchdog: Add a new "Control" ioctl.
Aug 14 2025, 7:03 PM

Aug 13 2025

jhibbits committed rGa685a263b803: uart: Add ns8250 ACPI entry for SPCR rev 2 (authored by jhibbits).
uart: Add ns8250 ACPI entry for SPCR rev 2
Aug 13 2025, 2:03 PM
jhibbits closed D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.
Aug 13 2025, 2:02 PM
jhibbits updated the diff for D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.

Update after latest probe changes.

Aug 13 2025, 1:46 PM
jhibbits retitled D51771: uart: Add ns8250 ACPI entry for SPCR rev 2 from uart: Add dummy ns8250 ACPI entry for SPCR rev 2 to uart: Add ns8250 ACPI entry for SPCR rev 2.
Aug 13 2025, 1:45 PM

Aug 12 2025

jhibbits added inline comments to D51623: amd64: Add kexec support.
Aug 12 2025, 8:31 PM
jhibbits updated the diff for D51624: x86/intr: Handle case of disabling MSI after release.

Address @kib's feedback.

Aug 12 2025, 7:06 PM
jhibbits accepted D51879: uart: Remove the unused cd_port_subtype.
Aug 12 2025, 6:56 PM
jhibbits accepted D51878: uart: Add UART_ACPI_SPCR_CLASS.

If it builds, it ships!

Aug 12 2025, 6:55 PM
jhibbits accepted D51877: uart: Remove UART_ACPI_CLASS.
Aug 12 2025, 6:42 PM
jhibbits updated the diff for D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.

Address feedback. Added comment noting empty strings, and changed naked 0x12 to
the right constant.

Aug 12 2025, 2:37 PM

Aug 11 2025

jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 11 2025, 9:07 PM

Aug 7 2025

jhibbits added a comment to D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.
In D51771#1182947, @imp wrote:

Weird, all the other devices that attach via SPCR don't need this entry. Are you sure it's still needed? I reworked things a bit ago...
Or is 0x12 some super magical thing...

Aug 7 2025, 1:06 PM

Aug 6 2025

jhibbits added a comment to D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.
In D51771#1182758, @imp wrote:

Where / how is this used?

Aug 6 2025, 10:54 PM
jhibbits updated the diff for D51623: amd64: Add kexec support.

Address feedback.

Aug 6 2025, 9:03 PM
jhibbits updated the diff for D51621: kexec: Introduce basic arm64 support.

Address feedback

Aug 6 2025, 9:02 PM
jhibbits updated the diff for D51619: kern: Introduce kexec system feature (MI).

Address feedback. The change to vm_radix_insert, etc, is untested still (will
test in my VM shortly).

Aug 6 2025, 9:02 PM
jhibbits added a reviewer for D51771: uart: Add ns8250 ACPI entry for SPCR rev 2: imp.
Aug 6 2025, 8:51 PM
jhibbits requested review of D51771: uart: Add ns8250 ACPI entry for SPCR rev 2.
Aug 6 2025, 8:50 PM
jhibbits updated the diff for D49183: watchdog: Convert to using sbintime_t format.

Address feedback.

Aug 6 2025, 8:40 PM
jhibbits updated the diff for D49182: watchdog: Add a new "Control" ioctl.

Address @jhb's feedback.

Aug 6 2025, 8:39 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 6 2025, 3:33 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 6 2025, 3:04 PM
jhibbits updated subscribers of D51623: amd64: Add kexec support.
In D51623#1181603, @kib wrote:
In D51623#1181601, @kib wrote:

One global question I have, most likely you must execute the handoff and start executing the new kernel on AP, not BSPs. In other words. the reboot must migrate to AP if it not already did it.

Do you mean it needs to migrate to the BSP, and not run on the APs? kern_reboot() already binds to CPU_FIRST().

If you mean it should execute from an AP, is there a reason for that?

Yes, of course I mean 'kexec must occur on BSP'. Silly thinko.

I think the sched_bind(curthread, CPU_FIRST()) in kern_reboot() should suffice, then, but correct me if I'm wrong.

When we eventually add rescue support, to run from panic, that might need to change, but would likely be a different entry, too.

Generally CPU_FIRST() is not BSP, but it happen on amd64. On x86 we define BSP as cpuid == 0.

Aug 6 2025, 2:52 PM

Aug 4 2025

jhibbits added a comment to D51623: amd64: Add kexec support.
In D51623#1181601, @kib wrote:

One global question I have, most likely you must execute the handoff and start executing the new kernel on AP, not BSPs. In other words. the reboot must migrate to AP if it not already did it.

Do you mean it needs to migrate to the BSP, and not run on the APs? kern_reboot() already binds to CPU_FIRST().

If you mean it should execute from an AP, is there a reason for that?

Yes, of course I mean 'kexec must occur on BSP'. Silly thinko.

Aug 4 2025, 8:59 PM
jhibbits added inline comments to D51621: kexec: Introduce basic arm64 support.
Aug 4 2025, 6:36 PM
jhibbits added inline comments to D51621: kexec: Introduce basic arm64 support.
Aug 4 2025, 6:35 PM
jhibbits added a comment to D51623: amd64: Add kexec support.

One global question I have, most likely you must execute the handoff and start executing the new kernel on AP, not BSPs. In other words. the reboot must migrate to AP if it not already did it.

Aug 4 2025, 6:04 PM
jhibbits added a comment to D51620: syscalls: Regen after adding kexec_load syscall.
In D51620#1181458, @imp wrote:

You don't need to get this reviewed.

Aug 4 2025, 5:58 PM
jhibbits added inline comments to D51623: amd64: Add kexec support.
Aug 4 2025, 3:58 PM

Jul 31 2025

jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Jul 31 2025, 12:29 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Jul 31 2025, 3:18 AM

Jul 30 2025

jhibbits abandoned D47358: rescue: Implement a direct dumper for arm64 and amd64.

Abandoned in favor of the kexec stack.

Jul 30 2025, 7:50 PM
jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.
In D51622#1179455, @kib wrote:

In fact, I retract my proposal with the INIT IPI. If SMI is broadcasted, other CPUs would not enter the SMI handler, and the sending CPU most likely hang waiting for the reply.

So yes, the cli;hlt loop is the best, but it should be executed from the memory which is not overwritten during kexec.

Jul 30 2025, 7:19 PM
jhibbits added inline comments to D51621: kexec: Introduce basic arm64 support.
Jul 30 2025, 6:59 PM
jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.

I should add that this is sort of how Linux does it as well (synchronize, disable interrupts, go catatonic and hope for the best)

Jul 30 2025, 6:47 PM
jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.
In D51622#1179431, @kib wrote:
In D51622#1179429, @kib wrote:
In D51622#1179347, @kib wrote:

Why do we need this at all? Why cannot you use e.g. stop_cpus() or stop_cpus_hard() or even smp_rendezvous() to do that? It can be done in MI, and definitely does not require new IPI vector.

The purpose of this is to make the CPU go catatonic so that it requires a core reset to continue. The handler disables all interrupts before going catatonic, so it requires the LAPIC INIT sequence to restore. We don't want the CPU to execute any other instructions until reset because the memory may have been overwritten.

Then explain this, at least as a comment in the code.

Jul 30 2025, 6:39 PM
jhibbits added a comment to D51622: amd64: Add cpu_stop() support to go UP after SMP.
In D51622#1179347, @kib wrote:

Why do we need this at all? Why cannot you use e.g. stop_cpus() or stop_cpus_hard() or even smp_rendezvous() to do that? It can be done in MI, and definitely does not require new IPI vector.

Jul 30 2025, 5:17 PM
jhibbits added inline comments to D51619: kern: Introduce kexec system feature (MI).
Jul 30 2025, 5:15 PM
jhibbits added inline comments to D51625: kexec: Add dummy headers for powerpc, arm, and riscv.
Jul 30 2025, 2:35 PM