|
|
1.1 ! root 1: /* ! 2: * Cisco C7200 (Predator) Simulation Platform. ! 3: * Copyright (c) 2006 Christophe Fillot. All rights reserved. ! 4: * ! 5: * AP1011 - Sturgeon HyperTransport-PCI Bridge. ! 6: */ ! 7: ! 8: #include <stdio.h> ! 9: #include <stdlib.h> ! 10: #include <string.h> ! 11: #include <time.h> ! 12: #include <errno.h> ! 13: ! 14: #include "mips64.h" ! 15: #include "dynamips.h" ! 16: #include "memory.h" ! 17: #include "device.h" ! 18: ! 19: #define AP1011_PCI_VENDOR_ID 0x14D9 ! 20: #define AP1011_PCI_PRODUCT_ID 0x0010 ! 21: ! 22: /* ! 23: * pci_ap1011_read() ! 24: * ! 25: * Read a PCI register. ! 26: */ ! 27: static m_uint32_t pci_ap1011_read(cpu_mips_t *cpu,struct pci_device *dev, ! 28: int reg) ! 29: { ! 30: switch (reg) { ! 31: case 0x08: ! 32: return(0x06040000); ! 33: case 0x34: ! 34: return(0x00000040); ! 35: case 0x40: ! 36: return(0x00210008); ! 37: case 0x44: ! 38: return(0x00000020); ! 39: case 0x48: ! 40: return(0x000000C0); ! 41: default: ! 42: return(0); ! 43: } ! 44: } ! 45: ! 46: /* Create an AP1011 Sturgeon HyperTransport-PCI Bridge */ ! 47: int dev_ap1011_init(struct pci_bus *pci_bus,int pci_device, ! 48: struct pci_bus *sec_bus) ! 49: { ! 50: struct pci_device *dev; ! 51: ! 52: dev = pci_bridge_create_dev(pci_bus,"ap1011", ! 53: AP1011_PCI_VENDOR_ID,AP1011_PCI_PRODUCT_ID, ! 54: pci_device,0,sec_bus,pci_ap1011_read,NULL); ! 55: ! 56: return((dev != NULL) ? 0 : -1); ! 57: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.