[Barrelfish-users] Undefined address space 'pageX'

Patrik Eklöf peklof at kth.se
Sun Jul 8 15:39:27 CEST 2012


Wow.
But even if you have the time to get it to compile, that would help a lot.

I assume you are referring to the 21140 (not 21040) NIC (because that's what it says in the tulip.h driver file)? If so, Simics supports 21140A, which I can use to test.

Regards,
Patrik Eklöf
Student at ICT, Master of Science in Engineering Education, IT Programme, KTH, Kista

________________________________________
From: Timothy Roscoe [troscoe at inf.ethz.ch]
Sent: Sunday, July 08, 2012 15:25
To: Patrik Eklöf
Cc: barrelfish-users at lists.inf.ethz.ch; Georgios Varisteas; troscoe at inf.ethz.ch
Subject: RE: [Barrelfish-users] Undefined address space 'pageX'

You may well be right that the LANCE is backward-compatible with the
NE2k, my memory is getting a bit old...

I've done a conversion of the Tulip driver to Mackerel 2, but have not
yet ported it to the new network stack.   Other than time, I don't
have access to a machine (physical or virtual) with a 21040 in it, so
I won't be able to test it at all.

When what I have compiles, I'll check it in anyway, but don't expect
much functionality :-)

 -- Mothy

At Fri, 6 Jul 2012 10:11:04 +0000, Patrik Eklöf <peklof at kth.se> wrote:
> I remember Gergios telling me that this card worked in an older version of bf.
>
> Regards,
> Patrik Eklöf
> Student at ICT, Master of Science in Engineering Education, IT Programme, KTH, Kista
> Sent from my Samsung Galaxy Tab 10.1
>
> Georgios Varisteas <yorgos at kth.se> wrote:
> Hi Mothy,
>
> Am I mistaken that Lance is mostly an optimized/evolved version of NE2000, the basic specification behind the RTL NIC? I think it is sometimes referred to as NE2100. I am not saying that the cards are identical, rather their differences are minimal for basic functionality.
>
> regards,
> Georgios
>
>
>
> ________________________________________
> From: Timothy Roscoe [troscoe at inf.ethz.ch]
> Sent: Friday, July 06, 2012 10:21
> To: Patrik Eklöf
> Cc: barrelfish-users at lists.inf.ethz.ch
> Subject: Re: [Barrelfish-users] Undefined address space 'pageX'
>
> Hi Patrik,
>
> You should not need to modify rtl8029as.dev at all - its functionality
> hasn't changed since it was written originally (it's not a complex
> card), and reverting it will most likely break the existing driver.
>
> The file has changed because Mackerel acquired new constructs which
> made it much simpler to express things like arrays of registers, and
> non-standard address spaces, both of which the RTL uses.
>
> The best source of material for understanding the .dev file is the
> Mackerel manual (available on the web site and in the source code as a
> technical note), but as I said, you shouldn't need to modify this
> file, only the driver.
>
> Do you have a citation for the AM79C973 ever working?  I don't think we
> have one here, and if I remember correctly the AM79C973 is compatible
> with the LANCE, rather than the RTL8029, and we don't have a LANCE
> driver...
>
>  -- Mothy
>
> At Thu, 5 Jul 2012 16:44:55 +0000, Patrik Eklöf <peklof at kth.se> wrote:
> > Hi all,
> >
> > I'm told the AM79C973 NIC worked with BF before (well, just adding it in and using the RTL driver doesn't work in the latest anyway), so I'm trying to "hack" BF to work with it again by changing the rtl8029as.dev file.
> > (Scream at me if I'm doing this the wrong way :p)
> >
> > Anyway, I have a diff from a bf version from 2010 which I'm trying to patch in.
> > Now, I am not so versed in Mackarel, so I'm trying to understand how this works.
> >
> > I have these lines here in the diff file:
> >
> > -  regarray par rw page1( 0x1 )[6] "Physical Address" type(uint8);
> > +  register par0 rw also io ( base, 0x1 ) "Physical Address Field 0" type(uint8);
> > +  register par1 rw also io ( base, 0x2 ) "Physical Address Field 1" type(uint8);
> > +  register par2 rw also io ( base, 0x3 ) "Physical Address Field 2" type(uint8);
> > +  register par3 rw also io ( base, 0x4 ) "Physical Address Field 3" type(uint8);
> > +  register par4 rw also io ( base, 0x5 ) "Physical Address Field 4" type(uint8);
> > +  register par5 rw also io ( base, 0x6 ) "Physical Address Field 5" type(uint8);
> >
> > Since the current drive seems to work with arrays, I added back the first line with par1 since they seem to be based on the same address and equal number of bytes.
> > But when I compile this, I get
> >
> > ../source/devices/rtl8029as.dev:276:12: Undefined address space 'page1'
> >
> > I can see a line
> >
> > -  space page1(addr) bytewise "NE2000 compatible page 1";
> >
> > at the beginning of the files (that's removed), but is this really necessary? Am I not understanding what a page is? Can someone explain, or elaborate a little perhaps, on how these retrofit these changes or how pages and arrays work?
> >
> > Thanks.
> >
> > Regards,
> > Patrik Eklöf
> > Student at ICT, Master of Science in Engineering Education, IT Programme, KTH, Kista
> >
>
> _______________________________________________
> Barrelfish-users mailing list
> Barrelfish-users at lists.inf.ethz.ch
> https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users
>



More information about the Barrelfish-users mailing list