home *** CD-ROM | disk | FTP | other *** search
- Hi,
-
- A few days ago, I had a problem that I could not use my 32-bit ram
- with BSD for several reasons:
-
- 1) loadbsd would only pick the first segment of ram, the 8mb 16-bit
- 2) my GVP11 controller could not do 32-bit DMA ( I realized this
- when I thought about the controller being plugged into my A500
- external bus which only has 24-bit addr lines! :) )
- 3) my 32-bit ram at 0x08c00000 made BSD think I was a 3000 because
- of the is_a3000() routine, which would result in a crash.
-
- Well, I am very happy to report that all is fine and dandy now.
- I changed the loadbsd prog to set fastmem_start=0x8c00000 and
- fastmem_size=0x400000 after the getmem() routine. Prob#1 solved.
-
- Thanks to Markus for putting in the _scsi_no_dma switch. I had
- to use this to prevent my GVP from DMA'ing into the 32-bit ram,
- which would result in a black screen and a crash. Prob#2 solved.
-
- To fix the is_a3000() thing, I did not have to recompile the kernel,
- that would have taken 3 hours in my 16-bit ram ( I already did this).
- I simply did this:
- binpatch -s _is_a3000 vmunix.613 (finds the address of the function)
- used resource to look at vmunix and the code for is_a3000()
- binpatch -b -a 0x548c8 -r 0x42 vmunix.613
- That last line changes a line in the assembly from NEG.L D0 to CLR.L D0
- Basically changing is_a3000() to return 0 always.
-
- Sorry about the jabber, i just thought someone else might have a similar
- problem. Please add this setup to the working list!
-
- A500, GVP11 Impact HD+ 105/8MB, CSA Derringer 030/882 4MB
-
- Next is to get my tape drive working! (Irwin 5040, anyone else got one?)
-
-
-