Page MenuHomeFreeBSD

sys: Use armv7 instead of i386 for 32-bit KBI assertions
Needs ReviewPublic

Authored by jhb on Mon, Oct 12, 6:30 PM.
Tags
None
Referenced Files
Unknown Object (File)
Wed, Oct 14, 2:09 AM
Unknown Object (File)
Tue, Oct 13, 12:36 PM
Unknown Object (File)
Tue, Oct 13, 12:35 PM
Unknown Object (File)
Tue, Oct 13, 10:49 AM
Unknown Object (File)
Tue, Oct 13, 9:17 AM
Unknown Object (File)
Tue, Oct 13, 5:43 AM
Unknown Object (File)
Tue, Oct 13, 12:31 AM
Unknown Object (File)
Tue, Oct 13, 12:07 AM
Subscribers

Details

Reviewers
kib
Group Reviewers
srcmgr

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Skipped
Unit
Tests Skipped
Build Status
Buildable 78086
Build 74969: arc lint + arc unit

Event Timeline

jhb requested review of this revision.Mon, Oct 12, 6:30 PM
sys/kern/kern_thread.c
108

Since arm is tier2 (I believe), I think this block can be removed.

sys/sys/user.h
342

I do not think that the changes to sys/user.h are right. We support 32bit x86 userspace, in particular the kinfo sysctls.

emaste added inline comments.
sys/kern/kern_thread.c
108

IMO there can be a distinction between the guarantees we want to make to FreeBSD users, and what we want to identify as committers. I'm fine with having these assertions fire on arm and having that prompt an explicit decision, or at least being able to provide a heads-up about a KBI break.

sys/kern/kern_thread.c
108

Note we didn't drop them when i386 went to tier 2, and we don't have any assertions for arm64 which is tier 1. I viewed it more as a sample 64-bit and 32-bit?

sys/sys/user.h
342

But we won't compile the static assertions which are part of the kernel (and which are the only place this constant is used). This change ensures we still have a compile time check that these sizes don't change.

sys/kern/kern_thread.c
108

Due to the presence of p_md and td_md fields, we cannot make the asserts generic 64- and 32-bit. They must be arch-specific.

sys/sys/user.h
342

Hmm, might be we need to add some asserts to libprocstat?