Hey Kevin,
Great, looks cool !!
> I made some hacks in plex86 (similar to ones I put in bochs some time ago)
> to load a Linux kernel image straight into memory.
I hope you put the hack in a plugin, so it's clean and easy to remove again
later...
> Made some other mods too. Making some progress. Have
> to wait until I get a little further, and put some pieces
> back together. But here's a GIF for kicks.
Hope to see CVS changes soon :)
PS, I asked a while ago whether it wouldn't be possible to make the
kernel/ directory a bit less messy by moving all of the specific
emulation stuff into a separate kernel/emulation/ directory, but I
never did get a reply. So I ask again: would this be possible ?
> BTW, I moved all the other device models from bochs over to
> plex86 as well.
>
> The Linux boot process is getting to the BogoMips calculation
> part. It's not bombing, just hanging out. Likely the
> timing of devices that we have in plex86 so far is too
> hacky. Will look into shaping that up.
I think the problem is the unreliability of the current timing.
BogoMIPS calculation relies on reliable timing... if timing
is very unreliable, it doesn't surprise me that it goes wrong.
Let me elaborate: in order for BogoMIPS calibration to work,
the system needs to work in such a way that every time a unit
of (PIT) time elapses, a roughly equal amount of instructions
has been executed (the same instructions, the BogoMIPS loop
is tight: see /usr/src/linux/arch/i386/lib/delay.c in
linux 2.2.x).
How are you going to change this easily ? The "shaping up" you
talk about doesn't sound so straightforward to me... how about
our previous idea, of adding timing IOCTLs to the kernel module
and have it do the timing (still isn't easy, but it is a bit
easier to get good control on timing). Actually, this sounds
like a rather difficult problem, because this "reliable" timing
is not the same sort of timing we'd like to use for the rest
of the VM run, which is a more synchronised-to-the-real-clock
timing.
-- Ramon