示例#1
0
    def getSerialAddresses(self, ioportspath):
        "Gets serial addresses in form (startaddr, endaddr)"
        serialAddresses = []
        KEYWORD = "serial"

        # Get all lines which include KEYWORD
        try:
            ioportdata = extractor.extractData(ioportspath)
        except IOError:
            message.addError("Could not access location: %s\n" % ioportspath +
                             "Serial device addresses not found.", False)
        else:
            try:
                lines = parseutil.findLines(ioportdata, KEYWORD)
            except customExceptions.KeyNotFound:
                message.addMessage(
                    "No serial devices found from file: %s" % ioportspath)
            else:
                # Retrieve (start,end) data for serial devices
                for line in lines:
                    serialAddresses.append(self.getAddressFromLine(line))

        print "Serial devices found: %d\n------------------" % len(serialAddresses)
        for addr in serialAddresses:
            print "  Start: ", "0x" + addr.start, " End: ", "0x" + addr.end

        return serialAddresses
示例#2
0
    def getPciConfigAddress(self, path):
        pciconfigaddr = ""
        key = "PCI MMCONFIG"
        try:
            iomemdata = extractor.extractData(path)
            keyline = parseutil.findLines(iomemdata, key)[0]
            pciconfigaddr = keyline.split("-")[0].lstrip()

        except (customExceptions.KeyNotFound, IOError):
            message.addWarning(
                "Could not obtain pciConfigAddress from %s." % path)

        return pciconfigaddr