Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Apr 1997 18:09:27 +0900
From:      KATO Takenori <kato@eclogite.eps.nagoya-u.ac.jp>
To:        rb@gid.co.uk
Cc:        kato@eclogite.eps.nagoya-u.ac.jp, freebsd-bugs@freefall.freebsd.org
Subject:   Re: kern/3292: Cyrix 486 performance problem
Message-ID:  <199704180909.SAA04619@gneiss.eps.nagoya-u.ac.jp>
In-Reply-To: Your message of "Fri, 18 Apr 1997 08:56:33 %2B0100"
References:  <l03020901af7cd2bf56c0@[194.32.164.2]>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Bob Bishop <rb@gid.co.uk>
Subject: Re: kern/3292: Cyrix 486 performance problem
Date: Fri, 18 Apr 1997 08:56:33 +0100

> b) It runs DOS but slow - BIOS doesn't know how to initialise the chip.
> AFAIK DOS contains no Cyrix-specific initialisation code.

DOS contains no Cyrix code, but there are device drivers to enable CPU 
cache and provide cache control.  FreeBSD doesn't contain cache
control in IBM-PC code (FreeBSD contains cache control in PC-98
code).


> BUT in any case, I think the cache should be enabled by default. If that
> means implementing cache flush code, so be it.

If we need to change only DMA code in isa.c, it is VERY easy.  What we 
should do is:

	1. Enable CPU cache by default.
	2. Copy cache control code from PC-98 tree into IBM-PC tree.

In PC-98 tree, that is, `PC98' is defined, when Cyrix 486 or 5x86 is
detected, set need_post_dma_flush or need_pre_dma_flush as 1.  The DMA 
access routines (pc98.c and bs driver) check these variable and
execute wbinvd() or invd().

----
KATO Takenori <kato@eclogite.eps.nagoya-u.ac.jp>
Dept. Earth Planet. Sci., Nagoya Univ.,  Nagoya, 464-01, Japan
PGP public key: finger kato@eclogite.eps.nagoya-u.ac.jp
------------------- Powered by FreeBSD(98) -------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199704180909.SAA04619>