18860e8c6SPeter Grehan# 28860e8c6SPeter Grehan# Simple psim h/w description 38860e8c6SPeter Grehan# 4174e81edSPeter Grehan# The .gdbinit should contain something like: 5174e81edSPeter Grehan# 6174e81edSPeter Grehan# target sim -e chirp -r 33554432 -f psim-tree 7174e81edSPeter Grehan# load 8174e81edSPeter Grehan# 9174e81edSPeter Grehan# (The -r option is the amount of physical RAM the simulator has) 10174e81edSPeter Grehan# 118860e8c6SPeter Grehan 128860e8c6SPeter Grehan/#address-cells 1 138860e8c6SPeter Grehan/openprom/options/use-stdio? false 148860e8c6SPeter Grehan#/openprom/options/strict-alignment? true 158860e8c6SPeter Grehan 16174e81edSPeter Grehan/options 17174e81edSPeter Grehan ./output-device "psim-stdout 18174e81edSPeter Grehan 19174e81edSPeter Grehan# 20174e81edSPeter Grehan# Define the disk device alias so ofwd can identify it 21174e81edSPeter Grehan# 22174e81edSPeter Grehan/aliases 23174e81edSPeter Grehan ./ofwdisk "/phb@0x70000000/ide@1/disk@0 24174e81edSPeter Grehan 258860e8c6SPeter Grehan# 268860e8c6SPeter Grehan# CPU definition. The phandle property is to help nexus.c locate the 278860e8c6SPeter Grehan# interrupt controller. 288860e8c6SPeter Grehan# 298860e8c6SPeter Grehan/cpus/cpu@0 308860e8c6SPeter Grehan 318860e8c6SPeter Grehan# 32174e81edSPeter Grehan# disk file, done via phb. maybe there's a simpler way. 338860e8c6SPeter Grehan# 348860e8c6SPeter Grehan/phb@0x70000000 358860e8c6SPeter Grehan ./device_type "pci 368860e8c6SPeter Grehan ./name "pci 378860e8c6SPeter Grehan ./#address-cells 3 388860e8c6SPeter Grehan ./#size-cells 2 398860e8c6SPeter Grehan ./ranges ni0,0,0,0 0xc0000000 0x10000 408860e8c6SPeter Grehan 418860e8c6SPeter Grehan/phb@0x70000000/ide@1 428860e8c6SPeter Grehan ./device_type "ide 438860e8c6SPeter Grehan ./name "ide 448860e8c6SPeter Grehan ./assigned-addresses \ 458860e8c6SPeter Grehan ni0,0,10,1f0 8 \ 468860e8c6SPeter Grehan ni0,0,14,3f8 8 \ 478860e8c6SPeter Grehan ni0,0,18,170 8 \ 488860e8c6SPeter Grehan ni0,0,1c,378 8 \ 498860e8c6SPeter Grehan ni0,0,20,200 8 508860e8c6SPeter Grehan ./reg \ 518860e8c6SPeter Grehan 1 0 \ 528860e8c6SPeter Grehan i0,0,10,0 8 \ 538860e8c6SPeter Grehan i0,0,18,0 8 \ 548860e8c6SPeter Grehan i0,0,14,6 1 \ 558860e8c6SPeter Grehan i0,0,1c,6 1 \ 568860e8c6SPeter Grehan i0,0,20,0 8 578860e8c6SPeter Grehan ./ready-delay 1000 588860e8c6SPeter Grehan 59174e81edSPeter Grehan/phb@0x70000000/ide@1/disk@0/file "../image.iso 608860e8c6SPeter Grehan 618860e8c6SPeter Grehan# 628860e8c6SPeter Grehan# I/O Bus 638860e8c6SPeter Grehan# 64174e81edSPeter Grehan/iobus@0x90000000 658860e8c6SPeter Grehan ./name psim-iobus 66174e81edSPeter Grehan ./reg 0x90000000 0x20000000 678860e8c6SPeter Grehan 688860e8c6SPeter Grehan# 698860e8c6SPeter Grehan# OpenPIC 708860e8c6SPeter Grehan# 71174e81edSPeter Grehan/iobus@0x90000000/opic@0x90000000 728860e8c6SPeter Grehan ./name interrupt-controller 738860e8c6SPeter Grehan ./device_type open-pic 748860e8c6SPeter Grehan ./compatible psim,open-pic 75174e81edSPeter Grehan ./reg 0x90000000 0x40000 768860e8c6SPeter Grehan ./interrupt-ranges 0 256 778860e8c6SPeter Grehan 788860e8c6SPeter Grehan/iobus/opic > intr0 int /cpus/cpu@0x0 798860e8c6SPeter Grehan 808860e8c6SPeter Grehan# 818860e8c6SPeter Grehan# IDE1 828860e8c6SPeter Grehan# 83174e81edSPeter Grehan#/iobus@0x90000000/ide@0x90052000 848860e8c6SPeter Grehan# ./name ata-4 858860e8c6SPeter Grehan# ./ioport 1 868860e8c6SPeter Grehan# ./device_type ata 878860e8c6SPeter Grehan# ./interrupt 12 88174e81edSPeter Grehan# ./reg 0x90052000 8 0x90052010 8 0x90052020 8 0x90052030 1 0x90052040 1 0x90052050 8 89174e81edSPeter Grehan#/iobus@0x90000000/ide@0x90052000 > a irq12 /iobus/opic 90