Add new preliminary tests for testing that CPU Debug Registers can be used
to trap on a variable (write operation).
dbregs_dr0_trap_variable:
Verify that setting trap with DR0 triggers SIGTRAP
dbregs_dr1_trap_variable:
Verify that setting trap with DR1 triggers SIGTRAP
dbregs_dr2_trap_variable:
Verify that setting trap with DR2 triggers SIGTRAP
dbregs_dr3_trap_variable:
Verify that setting trap with DR3 triggers SIGTRAP
Sponsored by <The NetBSD Foundation>
lwpinfo1:
Verify baic LWPINFO call for single thread (PT_TRACE_ME)
lwpinfo2:
Verify baic LWPINFO call for single thread (PT_ATTACH from tracer)
Both tests are marked as expected failure PR kern/51685:
ptrace(2): Signal does not set PL_EVENT_SIGNAL in
(struct ptrace_lwpinfo.)pl_event
Sponsored by <The NetBSD Foundation>
Rename dbregs1 to dbregs_print
Rename dbregs[2345] to dbregs_preserve_dr[0123]
Add new tests dbregs_preserve_dr[0123]_yield.
dbregs_preserve_dr0_yield:
Verify that setting DR0 is preserved across ptrace(2) calls with
scheduler yield
dbregs_preserve_dr1_yield:
Verify that setting DR1 is preserved across ptrace(2) calls with
scheduler yield
dbregs_preserve_dr2_yield:
Verify that setting DR2 is preserved across ptrace(2) calls with
scheduler yield
dbregs_preserve_dr3_yield:
Verify that setting DR3 is preserved across ptrace(2) calls with
scheduler yield
Add new tests dbregs_preserve_dr[0123]_continued.
dbregs_preserve_dr0_continued:
Verify that setting DR0 is preserved across ptrace(2) calls and with
continued child
dbregs_preserve_dr1_continued:
Verify that setting DR1 is preserved across ptrace(2) calls and with
continued child
dbregs_preserve_dr2_continued:
Verify that setting DR2 is preserved across ptrace(2) calls and with
continued child
dbregs_preserve_dr3_continued:
Verify that setting DR3 is preserved across ptrace(2) calls and with
continued child
Use more meaningful names for these tests as they are MD specific and
testing precise functionality. Also there will be a growing number of
tests in this category and prefixing everything with plain dbregs and
trailing with a number cannot be verbose.
Sponsored by <The NetBSD Foundation>
- Fixup SFP module insertion on the 82599 when insertion happens after
the system is booted and running. Add PHY detection logic to
ixgbe_handle_mod() and add locking to ixgbe_handle_msf() as well.
FreeBSD r293334.
- Fix ix advertise value after media change. When ifconfig sets media then the
values displayed by the advertise_speed value are invalidated.
Fix this by setting the bits correctly including setting advertise to 0 for
media = auto. FreeBSD r294578.
- Some others (e.g. LRO(not used by NetBSD)).
- Fix igxbe SRIOV VF (if_ixv) initialization bugs. The MAC address for
an if_ixv instance can now set at creation time, and the receive ring
tail pointer is correctly initialized (previously, things still worked
because the receive ring tail pointer was being fixed up as a side
effect of other activity).
dbregs2:
Verify that setting DR0 is preserved across ptrace(2) calls
dbregs3:
Verify that setting DR1 is preserved across ptrace(2) calls
dbregs4:
Verify that setting DR2 is preserved across ptrace(2) calls
dbregs5:
Verify that setting DR3 is preserved across ptrace(2) calls
These tests are deliberately fine-grained as they are expected to penetrate
precisely each functional aspect of CPU Debug Registers on amd64 one after
another.
These tests (and MI ones) might be generated or merged with helper
functions, however in order to copy-and-paste them out of a test-suite and
quickly port to other platform (in order to compare results) it's useful to
keep them as stand-alone as they are.
Code from these tests might be shared with other ports in future, for the
same reason keep them currently as they are.
Sponsored by <The NetBSD Foundation>
Rename
- tests/kernel/t_ptrace_amd64_wait.c
to
- tests/kernel/arch/amd64/t_ptrace_wait.c
and adapt appropriate files accordingly.
New directory will be used for more amd64-specific tests, verifying the
MD parts of the kernel.
Remove old entries from distrib/sets/lists as they were added a while ago.
Sponsored by <The NetBSD Foundation>
Clone t_ptrace_wait.c to t_ptrace_amd64_wait.c and put common parts to
t_ptrace_wait.h.
The t_ptrace_amd64_wait.c file is dedicated to hold amd64-specific tests
for the ptrace(2) interface.
Add new basic test dbreg1 in t_ptrace_amd64_wait{,3,4,6,id,pid}:
Verify plain PT_GETDBREGS with printing Debug Registers
Fix evbarm64-aarch64 issue pointed by <christos>, kill1 and kill2 tests
must be defined without PT_STEP guards.
Sponsored by <The NetBSD Foundation>