Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Jul 2002 08:39:20 +1000
From:      Peter Grehan <peterg@ptree32.com.au>
To:        freebsd-ppc@FreeBSD.ORG
Subject:   Re: psim non-blocking i/o
Message-ID:  <3D3F2C98.3D12611@ptree32.com.au>
References:  <3D3CA108.5CCABC4E@ptree32.com.au> <1027517635.3d3eacc358a89@www.wantpackets.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Hi Andy,

>  I did this with partial success.  This only seems to work with the stand-alone
> version, and did not work for the internal version (internal to gdb). I was
> using gdb-5.2 sources.

 Ah yes, I did find the same problem. I'll have a look into why it's
blocking with psim-gdb and not psim. I'm also using 5.2.

> pmap_release: does not really exist (HELP!)

 This isn't too bad. All that will happen is that the system will
eventually use all NPMAPS unique id's to put into segment descriptors.
The fix (taken from NetBSD) is:

void
pmap_release(pmap_t pmap)
{
        int idx, mask;
        
        /*
         * Free segment register's VSID
         */
        if (pmap->pm_sr[0] == 0)
                panic("pmap_release");

        idx = VSID_TO_HASH(pmap->pm_sr[0]) & (NPMAPS-1);
        mask = 1 << (idx % VSID_NBPW);
        idx /= VSID_NBPW;
        pmap_vsid_bitmap[idx] &= ~mask;
}

later,

Peter.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ppc" in the body of the message




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