Re: I/O flexpages / new mapping DB issue with overlapping ports

Frank Mehnert <[email protected]>
Newsgroups gmane.comp.micro-kernel.l4.l4ka.general
Organization InnoTek Systemberatung GmbH
Message-ID <[email protected]>
Morning,

On Thursday 08 June 2006 18:15, Espen Skoglund wrote:
> [Frank Mehnert]
>
> >   [PROBLEM1: although we requested the whole I/O space from Sigma0 we did
> >    not receive any port below 0x100, right?]
>
> Fixed.  The code managing the IO ports treated NULL objects as not
> present.
>
> > ROOT: Sending ports 0cf8-0cfb to task #08
> > io<f0352040>::map (fp=0cf80826 [00000cf8,2] base=00000cf8) to
> > io<f0352060> (fp=0
> > 0004020 [00000000,16])
> > Assertion isize > newsize failed in
> > file /home-sarge/fm3/src/afterburner/extern/
> > pistachio/kernel/src/generic/vrt.cc, line 354 (fn=f0303671)
> > --- "KD# assert" ---
> >
> >   [This is PROBLEM2]
>
> Fixed.  There was a special case of overmapping that wasn't handled
> properly in the code managing the IO spaces.
>
> In addition I've tested and fixed the other overmapping cases.  Have
> committed all the fixes to the CVS (but will probably not be mirrored
> to the outside in another 45 minutes).

Espen, sorry for bothering you again but there still something wrong, I got
another assertion:

  [root task has mapped all I/O ports from Sigma0. hello requests several I/O
   fpages from root task, I enabled tracepoints VRT_MAP and VRT_MAPCTRL]

io<f0352040>::map (fp=dcfa0426 [0000dcfa,1] base=0000dcfa) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc1b0026 [0000dc1b,0] base=0000dc1b) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc270026 [0000dc27,0] base=0000dc27) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc200026 [0000dc20,0] base=0000dc20) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc100026 [0000dc10,0] base=0000dc10) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc230026 [0000dc23,0] base=0000dc23) to io<f0352060> 
(fp=00004020 [00000000,16])
io<f0352040>::map (fp=dc000826 [0000dc00,2] base=0000dc00) to io<f0352060> 
(fp=00004020 [00000000,16])
Assertion t_node->is_valid () && t_node->is_table () && t_node->get_table 
()->match_prefix (t_addr) failed in 
file /home/fm3/src/pistachio/kernel/src/generic/vrt.cc, line 460 
(fn=f0303a30)
--- "KD# assert" ---
--------------------------------- (eip=f0302db4, esp=f0320384) ---
/mdb> dumpallio
00000000 table [objsize=256  radix=256  count=256] (f0363060)
  00000000 [1] port: 0000, space: f0358000
  00000100 [1] port: 0100, space: f0358000
    ...
  0000db00 [1] port: db00, space: f0358000
  0000dc00 [1] port: dc00, space: f0358000
    0000dc00 table [objsize=8  radix=32  count=5] (f03630c0)
      0000dc00 table [objsize=2  radix=4  count=2] (f0363170)
        0000dc00 [2] port: dc00, space: fe01e000
        0000dc02 [2] port: dc02, space: fe01e000
      0000dc10 table [objsize=1  radix=2  count=1] (f0363140)
        0000dc10 [2] port: dc10, space: fe01e000
      0000dc1a table [objsize=1  radix=2  count=1] (f03630b0)
        0000dc1b [2] port: dc1b, space: fe01e000
      0000dc20 table [objsize=2  radix=4  count=3] (f0363110)
        0000dc20 table [objsize=1  radix=2  count=1] (f0363100)
          0000dc20 [2] port: dc20, space: fe01e000
        0000dc22 table [objsize=1  radix=2  count=1] (f0363160)
          0000dc23 [2] port: dc23, space: fe01e000
        0000dc26 table [objsize=1  radix=2  count=1] (f03630e0)
          0000dc27 [2] port: dc27, space: fe01e000
      0000dcf8 table [objsize=2  radix=4  count=1] (f0363080)
        0000dcfa [2] port: dcfa, space: fe01e000
  0000dd00 [1] port: dd00, space: f0358000
    ...
  0000ff00 [1] port: ff00, space: f0358000

Frank
-- 
## InnoTek Systemberatung GmbH, http://www.innotek.de ##
signature.asc (application/pgp-signature, 189 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iD8DBQBEiSlK6z8pigLf3EcRAqiQAJ9WACgp+ooRepiSbrVIUBIQr1rE+ACeKt8C
hpEq16imQ8s7hIUSp0tJw4M=
=rzK7
-----END PGP SIGNATURE-----
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.