Commit 0aed2e03 authored by Tristan Gingold's avatar Tristan Gingold

mockturtle-debug: do not stop all cpus

Disassert reset of the cpu only when needed.
Stop the cpu after the gdb connection.
parent 9f444af5
......@@ -620,6 +620,7 @@ class GdbServer(object):
sys.stdout.write("Waiting for connection on port {}\n".format(gdb_port))
self.conn, client_addr = sock.accept()
sys.stdout.write("connection from {}\n".format(client_addr))
self.force_debug()
while True:
# Wait for a packet
packet = ""
......@@ -659,7 +660,6 @@ class GdbServer(object):
packet = ''
def run(self):
self.force_debug()
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('', gdb_port))
......@@ -670,12 +670,16 @@ class GdbServer(object):
def cmd_gdb(csr):
# Set force
csr.writel(CSR_DBG_FORCE, 0xf)
# Clear reset
csr.writel(CSR_RESET, 0)
# Disable force
csr.writel(CSR_DBG_FORCE, 0)
rst = csr.readl(CSR_RESET)
cpu_bit = 1 << flag_cpu
if (rst & cpu_bit) != 0:
sys.stdout.write("Put cpu #{} out of reset\n".format(flag_cpu))
# Set force
csr.writel(CSR_DBG_FORCE, cpu_bit)
# Clear reset
csr.writel(CSR_RESET, rst & ~cpu_bit)
# Disable force
csr.writel(CSR_DBG_FORCE, 0)
csr.writel(CSR_CORESEL, flag_cpu);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment