Page MenuHomeFreeBSD

Support multiple OPAL consoles, and don't crash if uart is not stdout
ClosedPublic

Authored by jhibbits on Jun 29 2018, 7:15 PM.
Tags
None
Referenced Files
F131778216: D16071.diff
Sat, Oct 11, 2:24 AM
Unknown Object (File)
Sun, Sep 14, 6:08 PM
Unknown Object (File)
Thu, Sep 11, 10:38 AM
Unknown Object (File)
Thu, Sep 11, 10:31 AM
Unknown Object (File)
Thu, Sep 11, 10:28 AM
Unknown Object (File)
Thu, Sep 11, 10:21 AM
Unknown Object (File)
Thu, Sep 11, 10:14 AM
Unknown Object (File)
Thu, Sep 11, 10:10 AM
Subscribers

Details

Summary

If the chosen console is not the OPAL uart, but OPAL uart devices exist, the console device doesn't attach properly, and faults in the interrupt handler, with a NULL pointer dereference. To fix this, and as a byproduct, also support multiple OPAL consoles, refactor to have the console getc callback use the appropriate softc instead of the global console_sc, which may be NULL in the case of a different device being the console.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 17733
Build 17533: arc lint + arc unit

Event Timeline

Assuming you have tested this and it works, looks great.

This revision is now accepted and ready to land.Jun 29 2018, 7:18 PM
This revision was automatically updated to reflect the committed changes.