Well, I know the values of the TR register and CR3 register(along with TSS location). That could be an indicator of the faulting driver during booting(VPICD.VXD according to the fault handler)?
New debugger features I've added to UniPCemu just now can log just said task(old breakpoint method combined with the new TR:TRbase and/or CR3 filters(they can work without the old breakpoint filter as well).
So, the new specs are as follows:
- Debugger always running, don't show, logging when breaking(in other words: only log when the breakpoint matches the instruction to execute).
- CS-only breakpoint at 0028:00000000, protected mode.
- Task breakpoint at 0018:C000AEBC
- CR3 breakpoint at 0x0328000.
Those combined should make it only log the specified task(the breakpoint conditions that are set are ANDed with each other to obtain the breakpoint condition. In this case a logging condition).
Edit: Always nice, those undocumented sign extension issues.... The task register has 1s in it's upper 64-bit half of it's precalculated base thus non-matching for 0x80000000 and up.
Edit: More bugs found: The CR3 breakpoint was overwriting the task breakpoint precalcs instead:S
Edit: Having fixed those bugs(together with some other bugs with the new breakpoint improvements), it's now logging properly. I also improperly set the task breakpoint to 0018:AEBC instead of 0018:C000AEBC. Having entered the correct breakpoint, it's properly triggering and generating a proper log file of the process until it's crashing.
I'm now getting a ~800MB large log file of the process/driver until it's crashing.