This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Mach".

The branch, master has been updated
       via  2a77238c976605ab5aeec2457658c63430aba581 (commit)
       via  f336f04cae1829073aab081a930671844882df42 (commit)
       via  a07c8731d2c480748451bcae103b3ab9c87149a7 (commit)
       via  f49095748d4d8ab0dcb84763adc3b868a097e82e (commit)
       via  aa3e3958d11d87c80bc1f21c5c4bf9c48e0bf98e (commit)
       via  77759d58b7784879c210db6820f5e50744caf796 (commit)
       via  71a71e47c7d32e48ca3790fa93a5cc2b285b741d (commit)
       via  8e7ddb9c4769f0a0677be64adf8d67a8d9398350 (commit)
       via  837f77a53f04e79a7f67bb8acbe84a04c094ea15 (commit)
       via  9c68124736edbfeb835e70f7b443ec7f324b9b6b (commit)
      from  93f7dc461087d129af0111b0d0ce8dc5f4f1c400 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 2a77238c976605ab5aeec2457658c63430aba581
Author: David Bidner <[email protected]>
Date:   Wed Oct 7 05:39:47 2026 +0200

    ddb: keep ddb output variables db_expr_t-sized on 64-bit
    
    The ddb variable table accesses db_max_line, db_max_width and
    db_tab_stop_width through db_expr_t pointers, but their definitions
    use int.  On 64-bit kernels, assigning these variables overwrites
    adjacent storage.  In particular, setting $lines cleared the tab width
    and caused division by zero during tab expansion.
    
    Define all three variables as db_expr_t.  For non-positive tab widths,
    avoid division in NEXT_TAB() and emit pending whitespace as spaces so
    db_force_whitespace() keeps advancing.  This also changes invalid-width
    handling on 32-bit kernels.
    
    Tested in the serial-console debugger on i386 and amd64 with tab widths
    0, -1, 4 and 8; output completed and variable values were preserved.
    Message-ID: <[email protected]>

commit f336f04cae1829073aab081a930671844882df42
Author: David Bidner <[email protected]>
Date:   Mon Oct 5 07:25:42 2026 +0200

    kern/lock_mon: record real caller at lock entry points
    
    MACH_LOCK_MON's locate_lock_info() guessed the caller of a lock with
    
        li->caller = *((vm_offset_t *)lock - 1);
    
    which reads an unrelated stack slot and is compiler/codegen dependent.
    Under MACH_LOCK_MON the lock entry points are real functions when
    NCPUS > 1, so the stored value is frequently not a code address and
    `show all slocks` / `lip` print bare or bogus hex such as 0x315(...)
    instead of a caller function name.
    
    Capture the actual return address at the three lock entry points with
    __builtin_return_address(0) and pass it to locate_lock_info().  Resolve
    the stored address with db_printsym(..., DB_STGY_PROC) so the
    LOCK/CALLER column prints name+offset, and always show the lock address
    in parentheses.  This only bites the MACH_LOCK_MON diagnostic path:
    locking semantics, statistics and the millisecond timing are unchanged,
    and MACH_LOCK_MON remains off by default.
    
    Based on upstream commit 5e25bd3c ("Add timing info to MACH_LOCK_MON
    lock monitoring").
    Message-ID: <[email protected]>

commit a07c8731d2c480748451bcae103b3ab9c87149a7
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:49 2026 +0200

    configfrag-first: Clarify --enable-ncpus help
    
    Say that NCPUS is an upper bound and that more detected CPUs boot with
    min(eligible, NCPUS).
    Message-ID: <[email protected]>

commit f49095748d4d8ab0dcb84763adc3b868a097e82e
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:48 2026 +0200

    model_dep: Panic on APIC initialization failure
    
    Panic with the acpi_error_string() text instead of printing the error and
    spinning forever.
    Message-ID: <[email protected]>

commit aa3e3958d11d87c80bc1f21c5c4bf9c48e0bf98e
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:47 2026 +0200

    cpuboot: Park processors not accepted into the CPU list
    
    The BSP starts APs with a broadcast INIT/STARTUP IPI, so every exposed AP
    runs this code, including the ones the kernel rejected. Rejected APIC
    IDs are -1 in cpu_id_lut; test the lookup and park before using it to
    index percpu_array or the per-CPU GDT.
    Message-ID: <[email protected]>

commit 77759d58b7784879c210db6820f5e50744caf796
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:46 2026 +0200

    acpi_parse_apic: Reserve the BSP and bound CPU admission
    
    Reserve the running BSP as kernel ID 0 before the MADT walk, so it
    survives firmware that lists it later. Ignore duplicate LAPIC entries
    and CPUs beyond NCPUS.
    
    This uses the apic_add_cpu() return value and the cpu_lapic_list bound.
    Message-ID: <[email protected]>

commit 71a71e47c7d32e48ca3790fa93a5cc2b285b741d
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:45 2026 +0200

    acpi_parse_apic: Stop on malformed MADT entries
    
    Do not advance past the end of the MADT with a truncated entry, and stop
    instead of looping forever when an entry has zero length.
    Message-ID: <[email protected]>

commit 8e7ddb9c4769f0a0677be64adf8d67a8d9398350
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:44 2026 +0200

    acpi_parse_apic: Ignore x2APIC and NMI MADT entries
    
    Recognize MADT type 9 (x2APIC) and type 4 (Local APIC NMI) explicitly
    instead of reporting them as unhandled. The x2APIC entry is ignored
    because this xAPIC port cannot map its 32-bit IDs, and the NMI entry does
    not describe a processor.
    Message-ID: <[email protected]>

commit 837f77a53f04e79a7f67bb8acbe84a04c094ea15
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:43 2026 +0200

    acpi_parse_apic: Name ACPI error codes
    
    Add acpi_error_string() and use it in the APIC setup diagnostics, so the
    startup path can report why ACPI/APIC setup failed instead of a bare
    number.
    Message-ID: <[email protected]>

commit 9c68124736edbfeb835e70f7b443ec7f324b9b6b
Author: David Bidner <[email protected]>
Date:   Wed Sep 23 19:55:42 2026 +0200

    apic: Bound cpu_lapic_list by NCPUS
    
    apic_add_cpu() wrote cpu_lapic_list[ncpus] without checking the
    allocation size. Keep the allocated size in capacity, return -1 when the
    list is full, and bound apic_get_cpu_apic_id() and the refit copy/free by
    it.
    
    cpu_id_lut now starts at -1, so an APIC ID that was not accepted is no
    longer mapped to the bootstrap processor.
    Message-ID: <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 configfrag-first.ac           |  3 +-
 ddb/db_output.c               | 17 +++++++---
 i386/i386/apic.c              | 25 ++++++++++++---
 i386/i386/apic.h              |  3 +-
 i386/i386/cpuboot.S           | 12 +++++++
 i386/i386at/acpi_parse_apic.c | 75 +++++++++++++++++++++++++++++++------------
 i386/i386at/acpi_parse_apic.h |  4 ++-
 i386/i386at/model_dep.c       |  4 +--
 kern/lock_mon.c               | 23 ++++++-------
 x86_64/cpuboot.S              | 17 ++++++++++
 10 files changed, 137 insertions(+), 46 deletions(-)


hooks/post-receive
-- 
GNU Mach

Reply via email to