1# Copyright (c) 2006-2008 The Regents of The University of Michigan 2# All rights reserved. 3# 4# Redistribution and use in source and binary forms, with or without 5# modification, are permitted provided that the following conditions are 6# met: redistributions of source code must retain the above copyright 7# notice, this list of conditions and the following disclaimer; 8# redistributions in binary form must reproduce the above copyright --- 65 unchanged lines hidden (view full) --- 74 self.terminal = Terminal() 75 self.kernel = binary('vmlinux') 76 self.pal = binary('ts_osfpal') 77 self.console = binary('console') 78 self.boot_osflags = 'root=/dev/hda1 console=ttyS0' 79 80 return self 81 |
82def makeLinuxAlphaRubySystem(mem_mode, phys_mem, mdesc = None): |
83 class BaseTsunami(Tsunami): 84 ethernet = NSGigE(pci_bus=0, pci_dev=1, pci_func=0) 85 ide = IdeController(disks=[Parent.disk0, Parent.disk2], 86 pci_func=0, pci_dev=0, pci_bus=0) 87 88 |
89 self = LinuxAlphaSystem(physmem = phys_mem) |
90 if not mdesc: 91 # generic system 92 mdesc = SysConfig() 93 self.readfile = mdesc.script() 94 95 # Create pio bus to connect all device pio ports to rubymem's pio port 96 self.piobus = Bus(bus_id=0) |
97 98 # 99 # Pio functional accesses from devices need direct access to memory 100 # RubyPort currently does support functional accesses. Therefore provide 101 # the piobus a direct connection to physical memory 102 # 103 self.piobus.port = phys_mem.port 104 |
105 self.disk0 = CowIdeDisk(driveID='master') 106 self.disk2 = CowIdeDisk(driveID='master') 107 self.disk0.childImage(mdesc.disk()) 108 self.disk2.childImage(disk('linux-bigswap2.img')) 109 self.tsunami = BaseTsunami() 110 self.tsunami.attachIO(self.piobus) 111 self.tsunami.ide.pio = self.piobus.port 112 self.tsunami.ethernet.pio = self.piobus.port 113 |
114 # 115 # store the dma devices for later connection to dma ruby ports 116 # 117 self.dma_devices = [self.tsunami.ide, self.tsunami.ethernet] |
118 |
119 self.simple_disk = SimpleDisk(disk=RawDiskImage(image_file = mdesc.disk(), 120 read_only = True)) 121 self.intrctrl = IntrControl() 122 self.mem_mode = mem_mode 123 self.terminal = Terminal() 124 self.kernel = binary('vmlinux') 125 self.pal = binary('ts_osfpal') 126 self.console = binary('console') --- 294 unchanged lines hidden --- |