Path: utzoo!mnetor!uunet!munnari!otc!metro!basser!elecvax!cheops!fredb From: fredb@cheops.OZ (Richard Bassett) Newsgroups: comp.unix.xenix Subject: Xenix-386 + 80287 --> garbage Message-ID: <763@cheops.OZ> Date: 12 Apr 88 07:32:23 GMT Organization: Computer Science, Uni of NSW, Aust. Lines: 40 Hardware: 80386 16Mhz (NEC Powermate-386) 80287-8 8MHz 16-bit coprocessor O/S: Xenix-386 v2.2.1 or v2.46 (vpix update) Problem: occasionally (order once per 10 seconds) the FPU gives garbage output. When: arises when more than one process is using the 287, eg 1 process writes floating-point numbers in ASCII to a pipe, another process reads them & converts them to binary. Does not seem to arise when only 1 process is doing heavy floating-point work. Random digits in the data are garbage, eg 'U'. Some calculated results are wrong, eg zero or 999.99*. When the job is repeated, corruption will occur in a different place. Same software runs fine (but 5 times slower - what are all the claims about a 386 in software being as fast as a 287?) if the FPU is removed. It's also unlikely that bugs in printf() could cause the corrupted digits. Note: Xenix-386 claims to support a 386-287 combination. The 8MHz 287 was purchased from NEC. I tried a second 287 - same result. Question: Has anybody else had this problem? What can I do about it? * Is it a hardware timing problem? -> Does Xenix behave OK on other 386-287 harware? -> Would a 10MHz 287 fix it? * Is it a software problem? Is Xenix not saving sufficient FPU status data when it task-switches? Thanks in advance, -- R J Bassett, Dept of Textile Tech, Uni of NSW, PO Box 1, Kensington, NSW 2033, AUSTRALIA : Ph. +61 2 697 4454 -- ACSnet: fredb@cheops.oz ARPA: fredb@cheops.oz.au UUCP: {uunet,mcvax}!cheops.oz!fredb