> Note that all this is because of PMON bugs, we did our best to > circumvent the bugs, but this is the best we can do.
No, we can do better. The real pie-in-the-sky fix is to do what had been done on hp300 30 years ago: make the bootloader actually be a kernel without userland, scheduling and interrupts. Back in the '80s, there was no choice because the ROM on the older HP 9000/300 systems was not big enough to allow for a decent API to be exposed to boot blocks. Nowadays, on the other hand, not being able to expose anything to loaded code is an insult. PMON (and PMON2000) provide such an interface, but the hasty fork of PMON2000 created by Lemote people, found on the Fuloong and Yeelong systems, is an horrible kluge and only intended to directly load a Linux kernel. The following features are supported in PMON2000 but have been broken by the Lemote engineers: - the ability to output messages to the console. Disabled because of the Lemote splash screen. - the ability to check for a keystroke or character on serial, without blocking. Disabled. - the ability to get a keystroke or a character on serial, from the console device. Unavailable because the standard input file descriptor the bootblocks use may not necessary be the console device. And there is no way to guess which file descriptor to use (it will be fd #3 most of the time, but not always) - the ability to read raw data or filesystem data from USB devices. USB busses are reset immediately before transferring control to the loaded code. I would like to eventually have a mini-kernel, with USB polling support[*], as a bootloader. However, if we are running on glass console, there is no 100% reliable way to get the display geometry (support for the eBenton Yeeloong-like system involved deciding LCD panel geometry based upon PMON environment variables which had to be set by the user, because there was simply no other way to tell this system apart from a regular Yeeloong), which defeats the purpose. Therefore the incentive to work on this remains low (this is sad, because the Gdium would benefit from an USB-capable bootloader A LOT). But, as one of the Murphy's law derivatives say, `` Mediocrity is the only language known by all computer programmers. '' Miod [*] In case you are wondering, I still have a few bits of hair left which I could get rid of by losing mind on useless projects. They are turning grey quite fast those days, though.

