After reading Stefan's mention of F0 index 52h in the
CS5530A, I think I'm begining to understand the
problem. 

Currently, F0000h is mapped to flash. This is because
at reset, the CS5530A decodes that address block and
claims those cycles, generating an ISA bus memory
cycle specifically. I think the cs5530a only claims
read cycles. So I think what I need to do is to do the
copy to F0000h like normal in copy_pirq_routing_table.
Then, before verify_copy_pirq..., I need to tell the
CS5530A to no longer claim read cycles for that
address block. But... that might not be possible.

Looking at Stefan's /dev/bios code I see the use of 6
to enable write access to the flash. But I don't see
the ability to disable the CS5530A's claim of the read
cycle. So no way to map F0000 elsewhere. 

So in summary, I think there is no way to tell the
gx1+cs5530a combo that F0000h should be mapped to
sdram. Since that can't be done, then it would require
that the PIRQ table be stored uncompressed somewhere
in the F0000-100000 adress range. And that's what
happens when building with CONFIG_COMPRESS=0 which
does work of course since eventually the kernel finds
it somewhere within the address range using the $PIRQ
signature. But that feels dirty to me.

So what do you guys think I should do? Do you agree
with my assessment above? The easiest thing to do
would be to add a linux kernel boot parameter that'll
allow LinuxBIOS to tell filo to tell the kernel
exactly where in sdram the uncompressed PIRQ table is.
I think I can do that. Alternately, since we know that
F0000h is the start of the flash, could we just
reserve that small section of flash for storing an
uncompressed PIRQ table and leave everything else as
is. I like the feel of that except I don't really now
how all the linkage and addressing is assigned. Please
let me know what you think.

Thanks,
Ramesh




--- "Ronald G. Minnich" <rminnich@lanl.gov> wrote:
> 
> 
> On Fri, 4 Mar 2005, Ronald G. Minnich wrote:
> 
> > 
> > 
> > On Thu, 3 Mar 2005, ramesh bios wrote:
> > 
> > > Ok, so I tried this specific sequence and it
> failed.
> > > 
> > > making region read/write
> > 
> > nope. you need to make it write-only, 
> 
> arg, I'm not thinking, we are running out of high
> memory and then RAM. 
> 
> So making it read/write should have worked. Blash.
> 
> Dump the memory at 0xf0000 BEFORE and AFTER you copy
> the PIRQ.
> 
> ron
> _______________________________________________
> Linuxbios mailing list
> Linuxbios@clustermatic.org
>
http://www.clustermatic.org/mailman/listinfo/linuxbios
> 


        
                
__________________________________ 
Celebrate Yahoo!'s 10th Birthday! 
Yahoo! Netrospective: 100 Moments of the Web 
http://birthday.yahoo.com/netrospective/
_______________________________________________
Linuxbios mailing list
Linuxbios@clustermatic.org
http://www.clustermatic.org/mailman/listinfo/linuxbios

Reply via email to