From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 24680 invoked by alias); 29 Mar 2002 01:42:23 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 24673 invoked from network); 29 Mar 2002 01:42:22 -0000 Received: from unknown (HELO localhost.redhat.com) (24.112.240.27) by sources.redhat.com with SMTP; 29 Mar 2002 01:42:22 -0000 Received: from cygnus.com (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id 5D9FA3DCE; Thu, 28 Mar 2002 20:40:39 -0500 (EST) Message-ID: <3CA3C617.9000302@cygnus.com> Date: Thu, 28 Mar 2002 17:42:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-US; rv:0.9.8) Gecko/20020210 X-Accept-Language: en-us MIME-Version: 1.0 To: obrien@FreeBSD.org Cc: gdb-patches@sources.redhat.com Subject: Re: add disk device to PowerPC sim References: <20020328150956.A99002@dragon.nuxi.com> <3CA3A41F.5060502@cygnus.com> Content-Type: multipart/mixed; boundary="------------030007040308010603040708" X-SW-Source: 2002-03/txt/msg00597.txt.bz2 This is a multi-part message in MIME format. --------------030007040308010603040708 Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Content-length: 1835 > I make this commit needed by the FreeBSD/powerpc porting effort. > > 2002-03-24 David O'Brien > * ppc/hw_disk.c: Export a disk device property. > > Index: hw_disk.c > =================================================================== > RCS file: /cvs/src/src/sim/ppc/hw_disk.c,v > retrieving revision 1.1 > retrieving revision 1.2 > diff -u -r1.1 -r1.2 > --- hw_disk.c 1999/04/16 01:35:09 1.1 > +++ hw_disk.c 2002/03/25 04:39:20 1.2 > @@ -232,6 +232,9 @@ > space, address, 0/*size*/, access_read_write_exec, > me); > > + /* Tell the world we are a disk. */ > + device_add_string_property(me, "device_type", "disk"); > + > /* get the name of the file specifying the disk image */ > disk->name_index = 0; > disk->nr_names = device_find_string_array_property(me, "file", > > I'm going to need to dig up my 1275 manual to check this one out. David, A disk drive has a "device_type" of "block" not "disk". See 1276 section 3.7 (Standard device types) and 3.7.2 ("block" devices). Could you please fix this, trunk and branch (given it has already been checked into the branch :-( ). At present none of other hw_*.c files are doing like the above. Instead they use a device tree (see attached) so your two line patch introduces a very fundamental change in the simulator's behavour. However, yes, the current need to specify all the properties in a file is a pain and the code to start doing this is long overdue. Looking at the actual change, ..._init_address() appears to get the job done. However, if you trace the code, the second and further init calls try to re-add the property to the tree (see how permenant_object is used) - fortunatly these are ignored. Can you please create a bug-report documenting this problem. enjoy, Andrew --------------030007040308010603040708 Content-Type: text/plain; name="tree" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="tree" Content-length: 1184 /#address-cells 1 /openprom/options ./os-emul "chrp ./oea-memory-size 0x400000 ./use-stdio? false /openprom/trace # ./events 1 # ./interrupts 1 /aliases ./ofdisk0 "/phb/ide/cdrom@0 /phb@0x80000000 ./device_type "pci ./name "pci ./#address-cells 3 ./#size-cells 2 ./ranges ni0,0,0,0 0xc0000000 0x10000 /phb/ide@1 ./device_type "ide ./name "ide ./assigned-addresses \ ni0,0,10,1f0 8 \ ni0,0,14,3f0 8 \ ni0,0,18,170 8 \ ni0,0,1c,370 8 \ ni0,0,20,200 8 ./reg \ 1 0 \ i0,0,10,0 8 \ i0,0,18,0 8 \ i0,0,14,6 1 \ i0,0,1c,6 1 \ i0,0,20,0 8 ./ready-delay 1000 /phb/ide@1/cdrom@0 ./device_type "block ./name "cdrom ./file "/dev/wd0a" /phb/com@2 ./device_type "serial" ./name "com" ./assigned-addresses \ ni0,0,10,3f8 8 ./reg \ 2 0 \ i0,0,10,0 8 # TMP for NetBSD /cpus ./device_type "cpus ./name "cpus ./timebase-frequency 1000000 /cpus/cpu@0 ./device_type "cpu ./name "cpu ./timebase-frequency 1000000 #/options/real-mode? true #/chosen/netbsd-args "/phb/ide/cdrom@0/netbsd /chosen/netbsd-args "ofdisk0/netbsd -sd /chosen/bootpath "ofdisk0:\boot.ppc" /chosen/bootargs "-s" /chosen/stdin */phb/com /chosen/stdout !/chosen/stdin --------------030007040308010603040708--