Page MenuHomeFreeBSD

mchoo (Minsoo Choo)
Minsoo

Projects (7)

User Details

User Since
May 6 2021, 12:00 AM (280 w, 6 d)

Recent Activity

Sun, Sep 20

mchoo accepted D59838: amd64/*sigtramp.S: re-enable some cfi annotations for special registers.
Sun, Sep 20, 2:45 PM
mchoo updated the diff for D59649: trap_cfi(9): introduce amd64 implementation.
  • No .cfi_sections .eh_frame for ia32_exception.S, apic_vector.S, and atpic_vector.S
  • Restore TDP_KTHREAD
  • fork_trampoline and fork_trampoline_kthread share post fork_exit code. Jump from fork_trampoline_kthread to .fork_trampoline_return after returning from fork_exit
Sun, Sep 20, 2:41 PM
mchoo added inline comments to D59649: trap_cfi(9): introduce amd64 implementation.
Sun, Sep 20, 2:35 PM
mchoo added inline comments to D59838: amd64/*sigtramp.S: re-enable some cfi annotations for special registers.
Sun, Sep 20, 2:11 PM
mchoo updated subscribers of D59858: ci: Remove Cirrus CI files.

ping @jhb @olce for mentor approval

Sun, Sep 20, 1:55 PM
mchoo requested review of D59858: ci: Remove Cirrus CI files.
Sun, Sep 20, 1:35 PM
mchoo added a comment to D59838: amd64/*sigtramp.S: re-enable some cfi annotations for special registers.
In D59838#1373575, @kib wrote:

clang 18 and 19 worked but clang15 cannot recognize any of cs, ss, rflags, es, ds, fs, and gs:

00000014 00000040 00000018 FDE cie=00000000 pc=00000000...00000001
  Format:       DWARF32
  DW_CFA_def_cfa: RSP +72
  DW_CFA_offset_extended: reg4294967295 -64
  DW_CFA_offset: RFLAGS -56
  DW_CFA_offset_extended: reg4294967295 -48
  DW_CFA_offset_extended: reg4294967295 -40
  DW_CFA_offset_extended: reg4294967295 -32
  DW_CFA_offset_extended: reg4294967295 -24
  DW_CFA_offset_extended: reg4294967295 -16

I tested llvm 16 and 17 as well and only 17 compiles correctly, so I think we still need a if guard but replace it with #if !defined(__clang__) || (__clang_major__ >= 17)

This is unfortunate. But do we need to care about so old llvms? llvm15 sounds esp. odd, I suspect that the web page is quite outdated.

Sun, Sep 20, 1:29 PM
mchoo updated the diff for D59649: trap_cfi(9): introduce amd64 implementation.
  • Move .cfi_sections to assembly files
  • Rename trap_cfi_full to trap_cfi_trapframe
  • Rename trap_cfi_entry's full state to trapframe
  • Add missing CFI directives (e.g. amd64_syscall invalidating r10, r11)
  • Add CFI directives to FRED handlers described in trap.c.
  • fork_trampoline_kthread should run for P_KPROC, not TDP_KTHREAD
  • Place nop after returning from fork_exit so return address sees terminal not trapframe
Sun, Sep 20, 1:47 AM

Sat, Sep 19

mchoo added inline comments to D59649: trap_cfi(9): introduce amd64 implementation.
Sat, Sep 19, 9:29 PM
mchoo added inline comments to D59649: trap_cfi(9): introduce amd64 implementation.
Sat, Sep 19, 9:16 PM
mchoo added a comment to D59838: amd64/*sigtramp.S: re-enable some cfi annotations for special registers.

I tested

.text
      .globl  cfi_segments
      .type   cfi_segments, @function
cfi_segments:
      .cfi_startproc simple
      .cfi_def_cfa    %rsp, 72
      .cfi_offset     %cs, -64
      .cfi_offset     49,  -56 /* rflags */
      .cfi_offset     %ss, -48
      .cfi_offset     %es, -40
      .cfi_offset     %ds, -32
      .cfi_offset     %fs, -24
      .cfi_offset     %gs, -16
      ret
      .cfi_endproc
      .size   cfi_segments, . - cfi_segments
Sat, Sep 19, 8:25 PM

Fri, Sep 18

mchoo updated subscribers of D59620: ldscript.powerpc*: Keep .data.rel.ro out of PT_DYNAMIC.

ping @olce for mentor approval

Fri, Sep 18, 4:03 PM
mchoo updated subscribers of D59719: libkvm: fix reading ppc64(le) minidumps.

ping @olce for mentor approval

Fri, Sep 18, 4:03 PM
mchoo updated subscribers of D59728: powerpc/radix: synchronize temporary kernel mappings.

ping @olce for mentor approval

Fri, Sep 18, 4:03 PM
mchoo added a comment to D59649: trap_cfi(9): introduce amd64 implementation.
In D59649#1371990, @kib wrote:

How do you validate the correctness of the .cfi annotations?

Fri, Sep 18, 4:01 PM
mchoo committed rG580306362537: sched_ule: fix typo in comment (authored by mchoo).
sched_ule: fix typo in comment
Fri, Sep 18, 2:20 PM
mchoo closed D59409: sched_ule: fix typo in comment.
Fri, Sep 18, 2:20 PM
mchoo committed rG962125aef24b: sched: rename sched_schedcpu() to sched_sysinit() (authored by mchoo).
sched: rename sched_schedcpu() to sched_sysinit()
Fri, Sep 18, 2:16 PM
mchoo committed rG5a879394ba2e: sched: factor out hogticks calculation into sched_update_hogticks() (authored by mchoo).
sched: factor out hogticks calculation into sched_update_hogticks()
Fri, Sep 18, 2:16 PM
mchoo committed rG477d2ea79252: sched_ule: fix invalid tdq_slice() and sched_slice_min (authored by mchoo).
sched_ule: fix invalid tdq_slice() and sched_slice_min
Fri, Sep 18, 2:15 PM
mchoo committed rGcd33abbce5a5: sched_4bsd: fix vague comment (authored by mchoo).
sched_4bsd: fix vague comment
Fri, Sep 18, 2:15 PM
mchoo committed rG872074c50e99: sched_ule: fix comment on ts_slice (authored by mchoo).
sched_ule: fix comment on ts_slice
Fri, Sep 18, 2:15 PM
mchoo committed rG6c0c77e190b2: sched_4bsd: remove obsolete comment (authored by mchoo).
sched_4bsd: remove obsolete comment
Fri, Sep 18, 2:15 PM
mchoo committed rG039498c2735e: sched_4bsd: move comment to correct location (authored by mchoo).
sched_4bsd: move comment to correct location
Fri, Sep 18, 2:15 PM
mchoo committed rG179f5b2bfedc: sched: fix kern.sched.{4bsd,ule}.slice (authored by mchoo).
sched: fix kern.sched.{4bsd,ule}.slice
Fri, Sep 18, 2:15 PM
mchoo committed rG351f6733180c: sched_4bsd: fix comment in maybe_preempt() (authored by mchoo).
sched_4bsd: fix comment in maybe_preempt()
Fri, Sep 18, 2:15 PM
mchoo committed rGf609ca733fee: sched_ule: fix typo goup to group (authored by mchoo).
sched_ule: fix typo goup to group
Fri, Sep 18, 2:15 PM
mchoo closed D59437: sched: rename sched_schedcpu() to sched_sysinit().
Fri, Sep 18, 2:15 PM
mchoo closed D59408: sched_ule: fix invalid tdq_slice() and sched_slice_min.
Fri, Sep 18, 2:15 PM
mchoo closed D59471: sched: factor out hogticks calculation into sched_update_hogticks().
Fri, Sep 18, 2:15 PM
mchoo committed rG7997d2a18150: sched_ule: remove unused KTR_ULE (authored by mchoo).
sched_ule: remove unused KTR_ULE
Fri, Sep 18, 2:15 PM
mchoo closed D59407: sched_ule: fix comment on ts_slice.
Fri, Sep 18, 2:15 PM
mchoo committed rG46416a57eb7b: sched_4bsd: remove obsolete comment (authored by mchoo).
sched_4bsd: remove obsolete comment
Fri, Sep 18, 2:15 PM
mchoo closed D59406: sched_4bsd: fix vague comment.
Fri, Sep 18, 2:15 PM
mchoo closed D59404: sched_4bsd: remove obsolete comment.
Fri, Sep 18, 2:15 PM
mchoo committed rG5d67118d2c73: sched_4bsd: update function name in comment (authored by mchoo).
sched_4bsd: update function name in comment
Fri, Sep 18, 2:15 PM
mchoo closed D59403: sched_4bsd: move comment to correct location.
Fri, Sep 18, 2:15 PM
mchoo committed rGe90be6fdf085: sched_4bsd: add static assertion for nice weight (authored by mchoo).
sched_4bsd: add static assertion for nice weight
Fri, Sep 18, 2:15 PM
mchoo closed D59402: sched_4bsd: fix comment in maybe_preempt().
Fri, Sep 18, 2:15 PM
mchoo closed D59399: sched_ule: remove unused KTR_ULE.
Fri, Sep 18, 2:15 PM
mchoo closed D59401: sched: fix kern.sched.{4bsd,ule}.slice.
Fri, Sep 18, 2:15 PM
mchoo closed D59400: sched_ule: fix typo goup to group.
Fri, Sep 18, 2:15 PM
mchoo committed rG1dfefffcbdc6: sched_4bsd: remove dumping from maybe_preempt() (authored by mchoo).
sched_4bsd: remove dumping from maybe_preempt()
Fri, Sep 18, 2:15 PM
mchoo committed rGd29c9f5aca34: sched_4bsd: remove kern.sched.4bsd.followon (authored by mchoo).
sched_4bsd: remove kern.sched.4bsd.followon
Fri, Sep 18, 2:15 PM
mchoo closed D59398: sched_4bsd: remove obsolete comment.
Fri, Sep 18, 2:15 PM
mchoo closed D59397: sched_4bsd: update function name in comment.
Fri, Sep 18, 2:15 PM
mchoo closed D59396: sched_4bsd: add static assertion for nice weight.
Fri, Sep 18, 2:15 PM
mchoo closed D59395: sched_4bsd: remove dumping from maybe_preempt().
Fri, Sep 18, 2:15 PM
mchoo closed D59394: sched_4bsd: remove kern.sched.4bsd.followon.
Fri, Sep 18, 2:15 PM

Thu, Sep 17

mchoo added a comment to D59719: libkvm: fix reading ppc64(le) minidumps.

ping @jhb for mentor approval

Thu, Sep 17, 1:24 AM
mchoo added a comment to D59728: powerpc/radix: synchronize temporary kernel mappings.

ping @jhb for mentor approval

Thu, Sep 17, 1:24 AM

Wed, Sep 16

mchoo added a reviewer for D59742: powerpc: Avoid deadlock when CPUs exchange threads: scheduler.
Wed, Sep 16, 10:31 PM
mchoo updated the summary of D59743: powerpc/radix: add minidump support.
Wed, Sep 16, 9:27 PM
mchoo requested review of D59743: powerpc/radix: add minidump support.
Wed, Sep 16, 9:26 PM
mchoo requested review of D59742: powerpc: Avoid deadlock when CPUs exchange threads.
Wed, Sep 16, 8:50 PM
mchoo updated the test plan for D59728: powerpc/radix: synchronize temporary kernel mappings.
Wed, Sep 16, 4:05 PM
mchoo requested review of D59728: powerpc/radix: synchronize temporary kernel mappings.
Wed, Sep 16, 4:05 PM
mchoo added a comment to D59651: trap_cfi(9): introduce powerpc implemenation.

I could not open HPT mmu minidump through libkvm, so this hasn't been tested yet similar to armv7 (D59650)

Wed, Sep 16, 3:41 AM
mchoo added a reviewer for D59719: libkvm: fix reading ppc64(le) minidumps: jhb.
Wed, Sep 16, 3:39 AM
mchoo requested review of D59719: libkvm: fix reading ppc64(le) minidumps.
Wed, Sep 16, 3:39 AM
mchoo added a comment to D59650: trap_cfi(9): introduce arm implementation.

I wanted to test this through QEMU, but it seems like armv7 minidump is broken (it cannot locate allproc, stoppcbs, etc)

Wed, Sep 16, 3:16 AM
mchoo updated the test plan for D59716: arm: pad minidump page table.
Wed, Sep 16, 3:07 AM
mchoo updated the summary of D59716: arm: pad minidump page table.
Wed, Sep 16, 3:07 AM
mchoo requested review of D59716: arm: pad minidump page table.
Wed, Sep 16, 3:01 AM

Tue, Sep 15

mchoo updated the diff for D59649: trap_cfi(9): introduce amd64 implementation.

Remove trap_cfi_end and use raw .cfi_endproc
Remove name from trap_cfi_entry
Remove .cfi_startproc from trap_cfi_entry. ENTRY() used in this patch doesn't have .cfi_startproc (the one in machine/asm.h does) but most architectures have only one ENTRY() which has the directive. For consistency between different architectures, omit it from trap_cfi_entry
.cfi_sections .eh_frame should only be emitted once (the original compiled and ran fine, but there's no need to have it under macro)
Added cfi directives to FRED code paths
kthread can return from fork_exit back to trampoline, so handle AST

Tue, Sep 15, 11:59 PM
mchoo updated the diff for D59651: trap_cfi(9): introduce powerpc implemenation.

cleanup

Tue, Sep 15, 7:52 PM
mchoo updated the diff for D59652: trap_cfi(9): add man page.

reflect code cleanup

Tue, Sep 15, 7:45 PM
mchoo updated the diff for D59650: trap_cfi(9): introduce arm implementation.

cleanup

Tue, Sep 15, 7:40 PM
mchoo updated the diff for D59648: trap_cfi(9): introduce arm64 implementation.

style and format

Tue, Sep 15, 7:35 PM
mchoo updated the diff for D59648: trap_cfi(9): introduce arm64 implementation.

cleanup

Tue, Sep 15, 7:32 PM
mchoo updated the diff for D59647: trap_cfi(9): introduce riscv implementation.

cleanup

Tue, Sep 15, 7:31 PM
mchoo updated the diff for D59647: trap_cfi(9): introduce riscv implementation.

Restore ENTRY() and END() changes

Tue, Sep 15, 6:52 PM
mchoo added a comment to D59647: trap_cfi(9): introduce riscv implementation.

Is this necessary? Do you not want LLDB to print trapframes as special, like KGDB does, and like GDB does for signal frames?

Tue, Sep 15, 5:47 PM
mchoo retitled D59651: trap_cfi(9): introduce powerpc implemenation from trap_cfi(9): add assembly interface for powerpc to trap_cfi(9): introduce powerpc implemenation.
Tue, Sep 15, 5:37 PM
mchoo retitled D59650: trap_cfi(9): introduce arm implementation from trap_cfi(9): add assembly interface for arm to trap_cfi(9): introduce arm implementation.
Tue, Sep 15, 5:37 PM
mchoo added a comment to D59651: trap_cfi(9): introduce powerpc implemenation.

I could not open HPT mmu minidump through libkvm, so this hasn't been tested yet similar to armv7 (D59650)

Tue, Sep 15, 5:37 PM
mchoo updated the diff for D59651: trap_cfi(9): introduce powerpc implemenation.
  • trap_cfi(9): add assembly interface for powerpc
  • trap_cfi(9): add exception handler CFI for powerpc
Tue, Sep 15, 5:36 PM
mchoo added a comment to D59650: trap_cfi(9): introduce arm implementation.

I wanted to test this through QEMU, but it seems like armv7 minidump is broken (it cannot locate allproc, stoppcbs, etc)

Tue, Sep 15, 5:36 PM
mchoo updated the diff for D59650: trap_cfi(9): introduce arm implementation.

Add second part

Tue, Sep 15, 5:35 PM
mchoo retitled D59648: trap_cfi(9): introduce arm64 implementation from trap_cfi(9): add assembly interface for arm64 to trap_cfi(9): introduce arm64 implementation.
Tue, Sep 15, 5:34 PM
mchoo updated the diff for D59648: trap_cfi(9): introduce arm64 implementation.

Add second part

Tue, Sep 15, 5:34 PM
mchoo retitled D59647: trap_cfi(9): introduce riscv implementation from trap_cfi(9): add assembly interface for riscv to trap_cfi(9): introduce riscv implementation.
Tue, Sep 15, 5:33 PM
mchoo updated the diff for D59647: trap_cfi(9): introduce riscv implementation.

Tested on lldb

Tue, Sep 15, 5:32 PM
mchoo committed rG99ed9753a5c5: riscv: Preserve savectx return address with vector support (authored by mchoo).
riscv: Preserve savectx return address with vector support
Tue, Sep 15, 2:07 PM
mchoo closed D59689: riscv: Preserve savectx return address with vector support.
Tue, Sep 15, 2:07 PM
mchoo updated subscribers of D59689: riscv: Preserve savectx return address with vector support.

ping @jhb for mentor approval

Tue, Sep 15, 1:42 PM
mchoo added a comment to D59437: sched: rename sched_schedcpu() to sched_sysinit().

ping @jhb for mentor approval

Tue, Sep 15, 1:15 PM
mchoo added reviewers for D59689: riscv: Preserve savectx return address with vector support: riscv, br.
Tue, Sep 15, 1:37 AM
mchoo requested review of D59689: riscv: Preserve savectx return address with vector support.
Tue, Sep 15, 1:37 AM

Mon, Sep 14

mchoo updated the diff for D59649: trap_cfi(9): introduce amd64 implementation.

Post first part as well

Mon, Sep 14, 4:03 PM
mchoo retitled D59649: trap_cfi(9): introduce amd64 implementation from trap_cfi(9): add assembly interface for amd64 to trap_cfi(9): introduce amd64 implementation.
Mon, Sep 14, 4:03 PM
mchoo updated the diff for D59649: trap_cfi(9): introduce amd64 implementation.

@kib, I was going to create revisions for actual changes once the macros are accepted, but since I tested this on amd64 with lldb, I'm posting second part of the change here.

Mon, Sep 14, 3:59 PM
mchoo added a comment to D59620: ldscript.powerpc*: Keep .data.rel.ro out of PT_DYNAMIC.

ping @jhb for mentor approval

Mon, Sep 14, 1:45 AM

Sun, Sep 13

mchoo added a comment to D59651: trap_cfi(9): introduce powerpc implemenation.

ooo whats this do!

Sun, Sep 13, 10:50 PM
mchoo updated the summary of D59652: trap_cfi(9): add man page.
Sun, Sep 13, 9:07 PM
mchoo updated the summary of D59651: trap_cfi(9): introduce powerpc implemenation.
Sun, Sep 13, 9:07 PM
mchoo updated the summary of D59650: trap_cfi(9): introduce arm implementation.
Sun, Sep 13, 9:07 PM
mchoo updated the summary of D59649: trap_cfi(9): introduce amd64 implementation.
Sun, Sep 13, 9:07 PM
mchoo updated the summary of D59648: trap_cfi(9): introduce arm64 implementation.
Sun, Sep 13, 9:07 PM
mchoo updated the diff for D59648: trap_cfi(9): introduce arm64 implementation.

Add MFC info

Sun, Sep 13, 9:06 PM