Subversion Repositories freemyipod

Rev

Rev 615 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 615 Rev 675
Line 111... Line 111...
111
                raise DeviceError("Connected to emBIOS. emBIOS is not supported by libemcore")
111
                raise DeviceError("Connected to emBIOS. emBIOS is not supported by libemcore")
112
            else:
112
            else:
113
                raise DeviceError("Connected to unknown software type. Exiting")
113
                raise DeviceError("Connected to unknown software type. Exiting")
114
        
114
        
115
        self.getpacketsizeinfo()
115
        self.getpacketsizeinfo()
116
        self.getusermemrange()
116
        self.getmallocpoolbounds()
117
    
117
    
118
    @staticmethod
118
    @staticmethod
119
    def _alignsplit(addr, size, blksize, align):
119
    def _alignsplit(addr, size, blksize, align):
120
        if size <= blksize: return (size, 0, 0)
120
        if size <= blksize: return (size, 0, 0)
121
        end = addr + size
121
        end = addr + size
Line 189... Line 189...
189
        self.logger.debug("Device dout packet size limit = %d\n" % resp.dinmax)
189
        self.logger.debug("Device dout packet size limit = %d\n" % resp.dinmax)
190
        self.lib.dev.packetsizelimit.dout = resp.doutmax
190
        self.lib.dev.packetsizelimit.dout = resp.doutmax
191
        return resp
191
        return resp
192
    
192
    
193
    @command()
193
    @command()
194
    def getusermemrange(self):
194
    def getmallocpoolbounds(self):
195
        """ This returns the memory range the user has access to. """
195
        """ This returns the memory range of the malloc pool """
196
        resp = self.lib.monitorcommand(struct.pack("<IIII", 1, 2, 0, 0), "III", ("lower", "upper", None))
196
        resp = self.lib.monitorcommand(struct.pack("<IIII", 1, 2, 0, 0), "III", ("lower", "upper", None))
197
        self.logger.debug("Device user memory = 0x%X - 0x%X\n" % (resp.lower, resp.upper))
197
        self.logger.debug("Malloc pool bounds = 0x%X - 0x%X\n" % (resp.lower, resp.upper))
198
        self.lib.dev.usermem.lower = resp.lower
198
        self.lib.dev.mallocpool.lower = resp.lower
199
        self.lib.dev.usermem.upper = resp.upper
199
        self.lib.dev.mallocpool.upper = resp.upper
200
        return resp
200
        return resp
201
    
201
    
202
    @command()
202
    @command()
203
    def reset(self, force=False):
203
    def reset(self, force=False):
204
        """ Reboot the device """
204
        """ Reboot the device """
Line 1035... Line 1035...
1035
        self.version.minorv = None
1035
        self.version.minorv = None
1036
        self.version.patchv = None
1036
        self.version.patchv = None
1037
        self.swtypeid = None
1037
        self.swtypeid = None
1038
        self.hwtypeid = None
1038
        self.hwtypeid = None
1039
        
1039
        
1040
        self.usermem = Bunch()
1040
        self.mallocpool = Bunch()
1041
        self.usermem.lower = None
1041
        self.mallocpool.lower = None
1042
        self.usermem.upper = None
1042
        self.mallocpool.upper = None
1043
    
1043
    
1044
    def __del__(self):
1044
    def __del__(self):
1045
        self.disconnect()
1045
        self.disconnect()
1046
    
1046
    
1047
    def findEndpoints(self):
1047
    def findEndpoints(self):