]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/mn10300/kernel/gdb-low.S
mn10300: add the MN10300/AM33 architecture to the kernel
[mirror_ubuntu-artful-kernel.git] / arch / mn10300 / kernel / gdb-low.S
1 ###############################################################################
2 #
3 # MN10300 Low-level gdbstub routines
4 #
5 # Copyright (C) 2007 Red Hat, Inc. All Rights Reserved.
6 # Written by David Howells (dhowells@redhat.com)
7 #
8 # This program is free software; you can redistribute it and/or
9 # modify it under the terms of the GNU General Public Licence
10 # as published by the Free Software Foundation; either version
11 # 2 of the Licence, or (at your option) any later version.
12 #
13 ###############################################################################
14 #include <linux/sys.h>
15 #include <linux/linkage.h>
16 #include <asm/smp.h>
17 #include <asm/cache.h>
18 #include <asm/cpu-regs.h>
19 #include <asm/exceptions.h>
20 #include <asm/frame.inc>
21 #include <asm/serial-regs.h>
22
23 .text
24
25 ###############################################################################
26 #
27 # GDB stub read memory with guard
28 # - D0 holds the memory address to read
29 # - D1 holds the address to store the byte into
30 #
31 ###############################################################################
32 .globl gdbstub_read_byte_guard
33 .globl gdbstub_read_byte_cont
34 ENTRY(gdbstub_read_byte)
35 mov d0,a0
36 mov d1,a1
37 clr d0
38 gdbstub_read_byte_guard:
39 movbu (a0),d1
40 gdbstub_read_byte_cont:
41 movbu d1,(a1)
42 ret [],0
43
44 .globl gdbstub_read_word_guard
45 .globl gdbstub_read_word_cont
46 ENTRY(gdbstub_read_word)
47 mov d0,a0
48 mov d1,a1
49 clr d0
50 gdbstub_read_word_guard:
51 movhu (a0),d1
52 gdbstub_read_word_cont:
53 movhu d1,(a1)
54 ret [],0
55
56 .globl gdbstub_read_dword_guard
57 .globl gdbstub_read_dword_cont
58 ENTRY(gdbstub_read_dword)
59 mov d0,a0
60 mov d1,a1
61 clr d0
62 gdbstub_read_dword_guard:
63 mov (a0),d1
64 gdbstub_read_dword_cont:
65 mov d1,(a1)
66 ret [],0
67
68 ###############################################################################
69 #
70 # GDB stub write memory with guard
71 # - D0 holds the byte to store
72 # - D1 holds the memory address to write
73 #
74 ###############################################################################
75 .globl gdbstub_write_byte_guard
76 .globl gdbstub_write_byte_cont
77 ENTRY(gdbstub_write_byte)
78 mov d0,a0
79 mov d1,a1
80 clr d0
81 gdbstub_write_byte_guard:
82 movbu a0,(a1)
83 gdbstub_write_byte_cont:
84 ret [],0
85
86 .globl gdbstub_write_word_guard
87 .globl gdbstub_write_word_cont
88 ENTRY(gdbstub_write_word)
89 mov d0,a0
90 mov d1,a1
91 clr d0
92 gdbstub_write_word_guard:
93 movhu a0,(a1)
94 gdbstub_write_word_cont:
95 ret [],0
96
97 .globl gdbstub_write_dword_guard
98 .globl gdbstub_write_dword_cont
99 ENTRY(gdbstub_write_dword)
100 mov d0,a0
101 mov d1,a1
102 clr d0
103 gdbstub_write_dword_guard:
104 mov a0,(a1)
105 gdbstub_write_dword_cont:
106 ret [],0
107
108 ###############################################################################
109 #
110 # GDB stub BUG() trap
111 #
112 ###############################################################################
113 ENTRY(__gdbstub_bug_trap)
114 .byte 0xF7,0xF7 # don't use 0xFF as the JTAG unit preempts that
115 ret [],0