[Soekris] 4801 and FreeBSD -current

Markus Friedl markus at openbsd.org
Wed Aug 6 15:56:47 UTC 2003


On Wed, Aug 06, 2003 at 03:47:39PM +0200, Poul-Henning Kamp wrote:
> 
> At least under FreeBSD -current, but probably also -stable, the TSC
> is no good for timekeeping.
> 
> For now a workaround is:
> 	sysctl kern.timecounter.hardware=i8254
> 
> I will commit a decent solution when I have one.
> 
> Ohh, and on another note, in case anyone needs to know it, the SC1100's
> SBA is located at 0x6000.

yes, the CBA (SBA?) seems to be stored in the scratchpad of the X-bus device
(pci device 0x0505):

#define SC1100_F5_SCRATCHPAD            0x64
        reg = pci_conf_read(pa->pa_pc, pa->pa_tag, SC1100_F5_SCRATCHPAD);
        sc->sc_iot = pa->pa_iot;
        if (bus_space_map(sc->sc_iot, reg, 64, 0, &sc->sc_ioh)) {
                printf("%s: unable to map registers at %p\n",
                    sc->sc_dev.dv_xname, reg);
                return;
        }

and the CBA address is to be stored in the CBA, so you can verify:

#define GCB_CBA                 0x003e          /* Configuration Base Address */
        cba = bus_space_read_2(sc->sc_iot, sc->sc_ioh, GCB_CBA);
        if (cba != reg) {
                printf("%s: cba mismatch: cba %p != reg %p\n",
                    sc->sc_dev.dv_xname, cba, reg);

btw: does anyone know how to use the sensors on the machine?
does anyone see more than 64MB?

thanks, -m



More information about the Soekris-tech mailing list