Port-amigappc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: A3000 problems



On Jan 1, 2011, at 1:05 PM, Frank Wille wrote:

> Radoslaw Kujawa wrote:
> 
>> Yes, dev boards for CyberStorm Mk-II were called "PowerUP":
>> http://bboah.com/download_photos/ppcproto_5_big.jpg
> 
> Ok. I wonder how much of those exist.

powerup.amigaworld.de estimates that 19 cards were made.

> I'm open for suggestions how to detect CSPPC, BPPC (and maybe even PowerUp)
> cards reliably.

First question is: what do we need this information for?
- We should use it to set up BAT mappings, not base it on Amiga model like we 
do it now (it's possible to put CSPPC into A1200 if you have Micronik Zorro 3 
busboard, which has CPU Fast Slot). 
- We can use it to inform the user, but that's not critical.
- Anything else?

My suggestions:
- Check for Zorro product IDs of BPPC/CSPPC in gobsdppc, pass this information 
to kernel. 
- We can search for BlizzardPPC ROM tag. BPPC flash lives somewhere within ROM 
extension area (starting 0xf00000). This method should be 100% accurate, as 
every BPPC has this flash ROM and will not work without one. 
- Rely on serial numbers, like we do it now. At least we can be sure that 
numbers staring with H or I are BPPC. We could assume that other numbers are 
handled like CSPPC.

>> Fine then, but shouldn't it be the default in amigappc port? You'd
>> always want to load kernel into CSPPC/BPPC RAM, which always have
>> highest priority.
> 
> Yes, that's true. I changed the default behaviour now, removed FIRSTSEG/S
> and introduced LARGESTSEG/S instead.

Great, it works!

> 
> I can also upload the full gobsdppc source somewhere, when anybody is
> interested. But it may only be compilable with vbcc at the moment.

I am interested, as I stated some days ago when I asked for gobsdppc source ;).

Why not commit it to sys/arch/amigappc/stand/ ?

> I just tried to run WarpOS and PowerUp programs in Chip-RAM, which didn't
> work because Chip-RAM is not mapped as an executable segment. So I'm still
> unsure what happens when trying to execute PPC code outside of the onboard
> RAM.

I did some testing today - filled RAM: with large files and exhaused CSPPC and 
mainboard memory, which forced newly started programs to use Z3 RAM. 

PowerUP seems to handle this situation well, I ran some PPC programs this way. 
I was unable to fill CSPPC RAM completely, so ppc.library managed to fit into 
CSPPC RAM. Started PPC tasks were loaded and executed in Z3 RAM (I checked this 
with SysInfo, tasks were indeed running somewhere within 0x5000 0000).  

WarpOS did not like Z3 RAM - no messages, no exceptions, just hung when I tried 
to execute a WOS program. 

> 
>> First two boards is Deneb, then ZorRAM, CV64/3D, FastATA 4000 and
>> CSPPC. Is it possible to BAT-map some additional space to support
>> configuration like this? I see that BAT_BL_256M is max possible block
>> size for older PPC CPUs...
> 
> Yes. And we have just four IBAT and four DBAT registers. But the kernel
> supports more than four data BATs in the battable. In the dsitrap function
> of powerpc/trap_subr.S you can see that it will randomly use the DBAT2 and
> DBAT3 to load an entry from battable to fix the current dsitrap.

So number of BATs is limited only by battable size (512) ?

> So, yes, we could add more 256MB BATs for your needs. Maybe you want to try
> it yourself in initppc() - look for amigappc_batinit().

I changed initppc() like this:

amigappc_batinit(0x00000000, BAT_BL_16M, BAT_I|BAT_G,
                    (startkernel & 0xf8000000), BAT_BL_128M, 0,
                    0xfff00000, BAT_BL_512K, 0,
                    0x40000000, BAT_BL_256M, BAT_I|BAT_G, 0,
                    0x50000000, BAT_BL_256M, BAT_I|BAT_G, 0,
                    0x60000000, BAT_BL_256M, BAT_I|BAT_G, 0,
                    0x70000000, BAT_BL_256M, BAT_I|BAT_G,
                    ~0);

Still, kernel did not boot with CV64/3D inserted, but works if I remove it. 
Should I modify anything else?

Any idea how to debug this before console is initialized?

--
Best regards,
RadosÅaw Kujawa


Home | Main Index | Thread Index | Old Index