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 _______________________________________________ ipxe-devel mailing list ipxe-devel@lists.ipxe.org https://lists.ipxe.org/mailman/listinfo/ipxe-devel