def linux_read_string(cpu, address, maxlen):
    s = ""
    try:
        while len(s) < maxlen:
            p = SIM_logical_to_physical(cpu, 1, address)
            c = SIM_read_phys_memory(cpu, p, 1)
            if c == 0:
                return s
            s += char(c)
        s += "..."
    except:
        s += "???"
    return s