A pre-loaded module may have SYSINIT that has order prior to SI_SUB_KLD,
e.g. TUNABLE_INT() / TUNABLE_LONG(). During linker_preload() those
SYSINITs are added to sysinit_list, then we can have abnormal orders,
i.e sip->subsystem < last. Without this fix the logging of current
subsystem will be wrongly melted into previous one.
While here start logging the subsystem from the very first one but not
after SI_SUB_COPYRIGHT, since it is safe to print to the console during
early boot.
MFC after: 1 week