[ipxe-devel] 486 with a Realtek 8139

Geert Stappers stappers at stappers.nl
Sat May 15 20:30:05 UTC 2021


On Wed, May 12, 2021 at 11:12:36AM +0100, Michael Brown wrote:
> On 05/05/2021 20:13, Michael Brown wrote:
> > For unlzma.S, just changing to ".arch i486" is fine, since there are no
> > 586-class instructions in that file.
> > 
> > For undinet.c, the "rdtsc" instructions are used only for profiling.
> > It's probably not worth the marginally increased accuracy from having
> > the rdtsc within the real-mode code: those TSC reads could be moved
> > outside the REAL_CODE() block and implemented using the standard
> > profile_xxx() functions instead of hardcoded "rdtsc" instructions.  (An
> > alternative approach would be to conditionalise the presence of the
> > "rdtsc" instructions, but it would need to be an exceptionally neat
> > solution to justify such a special case.)
> > 
> > For rtc_entropy.c, the use of the TSC is intrinsic to the way that the
> > code operates.  There is already an entropy_enable() call that is
> > allowed to return an error to indicate that the entropy source is
> > unusable: this could be extended to include a low-overhead check for the
> > existence of the TSC.
> > 
> > With those changes, there would be no need for any compile-time option
> > or accompanying documentation: the code would Just Work on a 486.
> 
> All three of the above are now implemented:
> 
>   https://github.com/ipxe/ipxe/commit/13c1abe10
>   https://github.com/ipxe/ipxe/commit/05fcf1a2f
>   https://github.com/ipxe/ipxe/commit/a6a8bb1a9
> 
> With the current master branch, I am able to boot successfully using iPXE on
> a (bochs-emulated) 486.
> 
> Michael

Thanks.
Looking forward to reports on real hardware ...


Groeten
Geert Stappers
-- 
Silence is hard to parse


More information about the ipxe-devel mailing list