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

Re: DEC 3000 problems



Hi,

> Hi,
> 
> >First, the second flash is mapped at 0x1.a000.0000, not at 0x1.e000.0000
> >as I posted in my first mail.
> 
> Actually, I am impressed that you found this information at all. I've
> searched through the programming manual and found nothing about it.
> 

Well, this information is just a guess based on ek-d3sys-pm.ps (DEC 3000
AXP Models System Programmer's Manual) which can be found
ftp://ftp.netbsd.org/pub/NetBSD/misc/dec-docs/index.html. This guess is
based on the TURBOchannel Dual SCSI ASIC memory map at page 134 (8-2)
and the IOCTL ASIC memory map at page 107 (7-3). 

> [del]
> >Looking at the 2 prom regions, 1 seems to be empty (the one at
> >0x1.8000.0000) and contains data (the one at 0x1.a000.0000). Can someone
> >with a working DEC 3000 verify this ? (exa 180000000 -N:32 and exa
> >1a0000000 -N:32) I don't think they are interleaved like on the VAX.=20
> 
> Here's the output of my 300X:
> 
> >>> exa 180000000 -N:32
>   PMEM: 00000001.80000000 FFFFFFFF
>   PMEM: 00000001.80000004 FFFFFFFF
>   PMEM: 00000001.80000008 FFFFFFFF
>   PMEM: 00000001.8000000C FFFFFFFF
>   PMEM: 00000001.80000010 FFFFFFFF
>   PMEM: 00000001.80000014 FFFFFFFF
>   PMEM: 00000001.80000018 FFFFFFFF
>   PMEM: 00000001.8000001C FFFFFFFF
>   PMEM: 00000001.80000020 FFFFFFFF
>   PMEM: 00000001.80000024 FFFFFFFF
>   PMEM: 00000001.80000028 FFFFFFFF
>   PMEM: 00000001.8000002C FFFFFFFF
>   PMEM: 00000001.80000030 FFFFFFFF
>   PMEM: 00000001.80000034 FFFFFFFF
>   PMEM: 00000001.80000038 FFFFFFFF
>   PMEM: 00000001.8000003C FFFFFFFF
>   PMEM: 00000001.80000040 FFFFFFFF
>   PMEM: 00000001.80000044 FFFFFFFF
>   PMEM: 00000001.80000048 FFFFFFFF
>   PMEM: 00000001.8000004C FFFFFFFF
>   PMEM: 00000001.80000050 FFFFFFFF
>   PMEM: 00000001.80000054 FFFFFFFF
>   PMEM: 00000001.80000058 FFFFFFFF
>   PMEM: 00000001.8000005C FFFFFFFF
>   PMEM: 00000001.80000060 FFFFFFFF
>   PMEM: 00000001.80000064 FFFFFFFF
>   PMEM: 00000001.80000068 FFFFFFFF
>   PMEM: 00000001.8000006C FFFFFFFF
>   PMEM: 00000001.80000070 FFFFFFFF
>   PMEM: 00000001.80000074 FFFFFFFF
>   PMEM: 00000001.80000078 FFFFFFFF
>   PMEM: 00000001.8000007C FFFFFFFF
>   PMEM: 00000001.80000080 FFFFFFFF
>   PMEM: 00000001.80000084 FFFFFFFF
>   PMEM: 00000001.80000088 FFFFFFFF
>   PMEM: 00000001.8000008C FFFFFFFF
>   PMEM: 00000001.80000090 FFFFFFFF
>   PMEM: 00000001.80000094 FFFFFFFF
>   PMEM: 00000001.80000098 FFFFFFFF
>   PMEM: 00000001.8000009C FFFFFFFF
>   PMEM: 00000001.800000A0 FFFFFFFF
>   PMEM: 00000001.800000A4 FFFFFFFF
>   PMEM: 00000001.800000A8 FFFFFFFF
>   PMEM: 00000001.800000AC FFFFFFFF
>   PMEM: 00000001.800000B0 FFFFFFFF
>   PMEM: 00000001.800000B4 FFFFFFFF
>   PMEM: 00000001.800000B8 FFFFFFFF
>   PMEM: 00000001.800000BC FFFFFFFF
>   PMEM: 00000001.800000C0 FFFFFFFF
>   PMEM: 00000001.800000C4 FFFFFFFF
>   PMEM: 00000001.800000C8 FFFFFFFF
> 
> >>> exa 1a0000000 -N:32
>   PMEM: 00000001.A0000000 01100404
>   PMEM: 00000001.A0000004 FFAA0055
>   PMEM: 00000001.A0000008 302E3756
>   PMEM: 00000001.A000000C 20202020
>   PMEM: 00000001.A0000010 20434544
>   PMEM: 00000001.A0000014 20202020
>   PMEM: 00000001.A0000018 494C4550
>   PMEM: 00000001.A000001C 204F495F
>   PMEM: 00000001.A0000020 48504C41
>   PMEM: 00000001.A0000024 FFFFFFFF
>   PMEM: 00000001.A0000028 01010170
>   PMEM: 00000001.A000002C 00034DA8
>   PMEM: 00000001.A0000030 525F4F49
>   PMEM: 00000001.A0000034 20204D4F
>   PMEM: 00000001.A0000038 20202020
>   PMEM: 00000001.A000003C 0000021F
>   PMEM: 00000001.A0000040 00029DC0
>   PMEM: 00000001.A0000044 00000000
>   PMEM: 00000001.A0000048 0003CDA0
>   PMEM: 00000001.A000004C 00000000
>   PMEM: 00000001.A0000050 80044000
>   PMEM: 00000001.A0000054 00000000
>   PMEM: 00000001.A0000058 23DEFFD8
>   PMEM: 00000001.A000005C B77E0000
>   PMEM: 00000001.A0000060 B43E0008
>   PMEM: 00000001.A0000064 B45E0010
>   PMEM: 00000001.A0000068 B47E0018
>   PMEM: 00000001.A000006C B49E0020
>   PMEM: 00000001.A0000070 A43B0028
>   PMEM: 00000001.A0000074 B0300000
>   PMEM: 00000001.A0000078 A43B0030
>   PMEM: 00000001.A000007C B0300004
>   PMEM: 00000001.A0000080 A43B0038
>   PMEM: 00000001.A0000084 B0300008
>   PMEM: 00000001.A0000088 A43B0040
>   PMEM: 00000001.A000008C B030000C
>   PMEM: 00000001.A0000090 A43B0048
>   PMEM: 00000001.A0000094 B0300010
>   PMEM: 00000001.A0000098 A43B0050
>   PMEM: 00000001.A000009C B0300014
>   PMEM: 00000001.A00000A0 A43B0058
>   PMEM: 00000001.A00000A4 B0300018
>   PMEM: 00000001.A00000A8 A43B0060
>   PMEM: 00000001.A00000AC B030001C
>   PMEM: 00000001.A00000B0 A43B0068
>   PMEM: 00000001.A00000B4 B0300020
>   PMEM: 00000001.A00000B8 A43B0070
>   PMEM: 00000001.A00000BC B0300024
>   PMEM: 00000001.A00000C0 A43B0078
>   PMEM: 00000001.A00000C4 B0300028
>   PMEM: 00000001.A00000C8 A43B0080
> 
> So, it looks like you are right.
> 

Yes. Seems similar to what I see. But page 155 of the System Programmers
Manual says : "300 models contain 768KB of Flash ROMS configured as 3 different 
268KB regions. ROMS are selected by setting or clearing bit <27> of the
SSR". The last sentence is rather strange. How do you select 3 regions
with 1 bit ? :) Or is one Flash ROM connected to the SCSI ASIC and the
other 2 to the IOCTL where bit <27> of the SSR serves as the bank 
select ? However on page 115 bit <27> of the SSR is said to select
between Fast (25Mhz) and Slow (12.5Mhz) mode. On the model 300 slow mode
should be selected. Also I remember having seen only 2 28F020 PROMS on
the board. I'm dumping the 0x1a0000000 PROM at the moment so I can't open the 
box to look for the 3rd PROM

> [del]
> >> So from here, I guess you've got these alternatives:
> >>
> >> 	- Rip off the ROMs (or solder them out) and check (for sure) if
> >> 	  the ROMs show up in memory space intermixed or
> >> 	  one-after-the-other, and simply re-program them externally.
> >
> >I'm afraid I don't have the soldering skills to desolder QFPs properly.
> 
> I've had an off-list conversation with Jan-Benedict Glaw and if all
> fails, he would have a go.
> 

Ok.

> >> 	- If they're not intermixed, you may have a chance with
> >> 	  DEPOSITing values to flash them.
> 
> Does a DEPOSIT command care what type of target it has? I mean, I'm surely
> not a hardware guy (being at home in UNIX userspace for ugh... 20 years,
> I am certainly not), but writing in a flash EPROM is a bit different
> than writing in a DRAM, right? So why should it work?

True. But writing to flash doesn't involve more than sending the right command
sequence using byte writes to the flash EPROM. So it should be doable
using DEPOSIT, although I would try to load and run a program using SRM
commands and have that write to the flash.

> 
> >> 	- Could you send me the ROM's contents? Either a firmware
> >> 	  updateing program or a EXAMINEd ROM dump would do. DEC did
> >> 	  some cool things to their desktop machine's ROMs: they
> >> 	  possibly contain some ID bytes at their start (within the
> >> 	  first kilobyte IIRC) so you can find out how they're connected
> >> 	  to the address decoder. Just use EXAMINE with /n:xxx of write
> >> 	  an Alpha backend for the firmware dumper I wrote for my VAXen
> >> 	  (it's already prepared for accepting other backends, find it
> >> 	  at
> >> 	  http://cvs.sourceforge.net/viewcvs.py/linux-vax/usr/firmware_dumper/)
> 
> I'm taking an examine dump of the PROM region 1a0000000 at the moment,
> just give me a call when you'll need it. It will take a while until
> it's finished, though ;-)
> 

Ok. Thanks.

Cheers,

Peter (p2).

Attachment: signature.asc
Description: Digital signature


Reply to: