Hi Chris,

Yea that makes sense, as you say its pretty trivial and a divide by zero check is a common coding practice...

I will try again as I only tried 'Max Performance' but it might mean until this is fixed we cannot enable 'Turbo+' at all.

With the GIANT lock in OpenBSD I was really hoping that Turbo+ would work as that gives me a few hundred extra MHz on top of the default 3.5GHz Ivy clock in a single core etc.

Please let me know if a commit for this is done and I will test using a snapshot :)

Thanks for your time, Andy.


On Fri 08 Nov 2013 17:05:33 GMT, Chris Cappuccio wrote:
Andy [[email protected]] wrote:
Hi back in the office now.

On Thu 07 Nov 2013 20:54:20 GMT, Chris Cappuccio wrote:
Andy Lemin [[email protected]] wrote:
Hi, sadly OpenBSD does not boot with the latest Ivy Bridge EP (E5-2637v2) with 
'Power Technology' in the supermicro BIOS set to 'Max Performance', on both 5.4 
release and the snapshot dated Nov 3rd;


This is a bug that needs to be fixed.


So enabling the 'Power Technology' results in trace;
kernel: integer divide fault trap, code=0
Stopped at    est_init+0xc3:   idivl  %ebx,%ea%
est_init() at est_init+0xc3
mainbus_attach() at mainbus_attach+0xd5
config_attach() at config_attach+0x1d4
cpu_configure() at cpu_configure+0x17
main() at main+0x3f5
end trace frame: 0x0, count: 6
ddb{0}>


est_init() in /usr/src/sys/arch/amd64/amd64/est.c has this bit:

         low = est_fqlist->table[est_fqlist->n - 1].mhz;
         high = est_fqlist->table[0].mhz;

and the only division happening is:

         perflevel = (cpuspeed - low) * 100 / (high - low);

So an integer divide trap means a divide-by-zero? That means high and low
are the same?

A stupid fix might be:

        if (high - low == 0)
                perflevel = 99
        else
                perflevel = (cpuspeed - low) * 100 / (high - low);


I understand that these are not errors but are warnings for found devices
which OpenBSD has no drivers for etc.. However their are a /lot/ of missing
devices which is worrying and makes me wonder what on the motherboard is not
working... The chipset is Intel and these are all missing Intel drivers.

Their are 37 missing drivers with most being class subtypes 'miscellaneous'
and several 'DASP subclass Time and Frequency' types.


I don't think FreeBSD or Linux match these devices yet either. It is
interesting but not critical.

Reply via email to