If we take a CMCI during boot (between SI_SUB_CPU and SI_SUB_CONFIGURE)
before the refill task is initialized, we'll panic otherwise. Instead, predicate use of
the taskqueue on !cold and make sure that we've refilled the record list when starting
the taskqueue thread.
Details
Details
- Reviewers
cem jhb - Commits
- rS310084: Don't run the MCA record refill task during boot.
Diff Detail
Diff Detail
- Lint
Lint Passed - Unit
No Test Coverage - Build Status
Buildable 6229 Build 6472: arc lint + arc unit
Event Timeline
Comment Actions
(Rough life if you are getting CMCI's before you can even get to single user)
sys/x86/x86/mca.c | ||
---|---|---|
717 | Blank line before comment. |
Maybe just say the type of the 3rd arg depends on the operation (and document the type for each operation that takes the third arg) instead of trying to assume it's a single type? In CheriBSD we have a wrapper in libc to deal with this and have fcntl() as a truly var-args function. On existing platforms var-args is close enough to work for passing syscall arguments, but not all ABIs require this. (var-args are passed as a block in a bounded pointer on CHERI platforms and not just a continuation of register arguments).