1 # $FreeBSD$
    2 #
    3 # Simple psim h/w description
    4 #
    5 # The .gdbinit should contain something like:
    6 #
    7 #   target sim -e chirp -r 33554432 -f psim-tree
    8 #   load
    9 #
   10 #  (The -r option is the amount of physical RAM the simulator has)
   11 #
   12 
   13 /#address-cells 1
   14 /openprom/options/use-stdio? false
   15 #/openprom/options/strict-alignment? true
   16 
   17 /options
   18         ./output-device "psim-stdout
   19 
   20 #
   21 # Define the disk device alias so ofwd can identify it
   22 #
   23 /aliases
   24         ./ofwdisk "/phb@0x70000000/ide@1/disk@0
   25 
   26 #
   27 # CPU definition. The phandle property is to help nexus.c locate the
   28 # interrupt controller.
   29 #
   30 /cpus/cpu@0
   31 
   32 #
   33 # disk file, done via phb. maybe there's a simpler way.
   34 #
   35 /phb@0x70000000
   36         ./device_type "pci
   37         ./name "pci
   38         ./#address-cells 3
   39         ./#size-cells 2
   40         ./ranges ni0,0,0,0 0xc0000000 0x10000
   41 
   42 /phb@0x70000000/ide@1
   43         ./device_type "ide
   44         ./name "ide
   45         ./assigned-addresses \
   46                 ni0,0,10,1f0 8 \
   47                 ni0,0,14,3f8 8 \
   48                 ni0,0,18,170 8 \
   49                 ni0,0,1c,378 8 \
   50                 ni0,0,20,200 8
   51         ./reg \
   52                 1 0 \
   53                 i0,0,10,0 8 \
   54                 i0,0,18,0 8 \
   55                 i0,0,14,6 1 \
   56                 i0,0,1c,6 1 \
   57                 i0,0,20,0 8
   58         ./ready-delay 1000
   59 
   60 /phb@0x70000000/ide@1/disk@0/file "../image.iso
   61 
   62 #
   63 # I/O Bus
   64 #
   65 /iobus@0x90000000
   66         ./name psim-iobus
   67         ./reg 0x90000000 0x20000000
   68 
   69 #
   70 # OpenPIC
   71 #
   72 /iobus@0x90000000/opic@0x90000000
   73         ./name         interrupt-controller
   74         ./device_type  open-pic
   75         ./compatible   psim,open-pic
   76         ./reg 0x90000000 0x40000
   77         ./interrupt-ranges 0 256
   78 
   79 /iobus/opic > intr0 int /cpus/cpu@0x0
   80 
   81 #
   82 # IDE1
   83 #
   84 #/iobus@0x90000000/ide@0x90052000
   85 #        ./name ata-4
   86 #        ./ioport 1
   87 #        ./device_type ata
   88 #        ./interrupt  12
   89 #        ./reg 0x90052000 8 0x90052010 8 0x90052020 8 0x90052030 1 0x90052040 1 0x90052050 8
   90 #/iobus@0x90000000/ide@0x90052000 > a irq12 /iobus/opic
Cache object: a989a0d8539e3f1c790d7470c0473a66  
 
 |