Skip to content
Navigation Menu
Toggle navigation
Sign in
In this repository
All GitHub Enterprise
↵
Jump to
↵
No suggested jump to results
In this repository
All GitHub Enterprise
↵
Jump to
↵
In this organization
All GitHub Enterprise
↵
Jump to
↵
In this repository
All GitHub Enterprise
↵
Jump to
↵
Sign in
Reseting focus
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
mariux64
/
linux
Public
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Issues
2
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
b079115
Documentation
arch
alpha
arc
arm
arm64
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
boot
configs
include
asm
m32104ut
m32700ut
mappi2
mappi3
opsput
Kbuild
addrspace.h
asm-offsets.h
assembler.h
atomic.h
barrier.h
bitops.h
bug.h
bugs.h
cache.h
cachectl.h
cacheflush.h
checksum.h
cmpxchg.h
dcache_clear.h
delay.h
device.h
div64.h
dma-mapping.h
dma.h
elf.h
emergency-restart.h
fb.h
flat.h
ftrace.h
futex.h
hardirq.h
hw_irq.h
io.h
irq.h
irq_regs.h
irqflags.h
kdebug.h
kmap_types.h
linkage.h
local.h
local64.h
m32102.h
m32r.h
m32r_mp_fpga.h
mc146818rtc.h
mmu.h
mmu_context.h
mmzone.h
page.h
pci.h
percpu.h
pgalloc.h
pgtable-2level.h
pgtable.h
processor.h
ptrace.h
rtc.h
s1d13806.h
segment.h
serial.h
setup.h
shmparam.h
signal.h
smp.h
spinlock.h
spinlock_types.h
string.h
switch_to.h
syscall.h
termios.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
types.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
user.h
vga.h
xor.h
uapi
kernel
lib
mm
oprofile
platforms
Kconfig
Kconfig.debug
Makefile
m68k
metag
microblaze
mips
mn10300
nios2
openrisc
parisc
powerpc
s390
score
sh
sparc
tile
um
unicore32
x86
xtensa
.gitignore
Kconfig
block
certs
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
Breadcrumbs
linux
/
arch
/
m32r
/
include
/
asm
/
processor.h
Blame
Blame
Latest commit
History
History
135 lines (108 loc) · 3.27 KB
Breadcrumbs
linux
/
arch
/
m32r
/
include
/
asm
/
processor.h
Top
File metadata and controls
Code
Blame
135 lines (108 loc) · 3.27 KB
Raw
#ifndef _ASM_M32R_PROCESSOR_H #define _ASM_M32R_PROCESSOR_H /* * include/asm-m32r/processor.h * * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (C) 1994 Linus Torvalds * Copyright (C) 2001 Hiroyuki Kondo, Hirokazu Takata, and Hitoshi Yamamoto * Copyright (C) 2004 Hirokazu Takata <takata at linux-m32r.org> */ #include <linux/kernel.h> #include <asm/cache.h> #include <asm/ptrace.h> /* pt_regs */ /* * Default implementation of macro that returns current * instruction pointer ("program counter"). */ #define current_text_addr() ({ __label__ _l; _l: &&_l; }) /* * CPU type and hardware bug flags. Kept separately for each CPU. * Members of this structure are referenced in head.S, so think twice * before touching them. [mj] */ struct cpuinfo_m32r { unsigned long pgtable_cache_sz; unsigned long cpu_clock; unsigned long bus_clock; unsigned long timer_divide; unsigned long loops_per_jiffy; }; /* * capabilities of CPUs */ extern struct cpuinfo_m32r boot_cpu_data; #ifdef CONFIG_SMP extern struct cpuinfo_m32r cpu_data[]; #define current_cpu_data cpu_data[smp_processor_id()] #else #define cpu_data (&boot_cpu_data) #define current_cpu_data boot_cpu_data #endif /* * User space process size: 2GB (default). */ #ifdef CONFIG_MMU #define TASK_SIZE (0x80000000UL) #else #define TASK_SIZE (0x00400000UL) #endif #ifdef __KERNEL__ #define STACK_TOP TASK_SIZE #define STACK_TOP_MAX STACK_TOP #endif /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ #define TASK_UNMAPPED_BASE PAGE_ALIGN(TASK_SIZE / 3) typedef struct { unsigned long seg; } mm_segment_t; #define MAX_TRAPS 10 struct debug_trap { int nr_trap; unsigned long addr[MAX_TRAPS]; unsigned long insn[MAX_TRAPS]; }; struct thread_struct { unsigned long address; unsigned long trap_no; /* Trap number */ unsigned long error_code; /* Error code of trap */ unsigned long lr; /* saved pc */ unsigned long sp; /* user stack pointer */ struct debug_trap debug_trap; }; #define INIT_SP (sizeof(init_stack) + (unsigned long) &init_stack) #define INIT_THREAD { \ .sp = INIT_SP, \ } /* * Do necessary setup to start up a newly executed thread. */ /* User process Backup PSW */ #define USERPS_BPSW (M32R_PSW_BSM|M32R_PSW_BIE|M32R_PSW_BPM) #define start_thread(regs, new_pc, new_spu) \ do { \ regs->psw = (regs->psw | USERPS_BPSW) & 0x0000FFFFUL; \ regs->bpc = new_pc; \ regs->spu = new_spu; \ } while (0) /* Forward declaration, a strange C thing */ struct task_struct; struct mm_struct; /* Free all resources held by a thread. */ extern void release_thread(struct task_struct *); /* Copy and release all segment info associated with a VM */ extern void copy_segments(struct task_struct *p, struct mm_struct * mm); extern void release_segments(struct mm_struct * mm); /* Copy and release all segment info associated with a VM */ #define copy_segments(p, mm) do { } while (0) #define release_segments(mm) do { } while (0) unsigned long get_wchan(struct task_struct *p); #define KSTK_EIP(tsk) ((tsk)->thread.lr) #define KSTK_ESP(tsk) ((tsk)->thread.sp) #define cpu_relax() barrier() #endif /* _ASM_M32R_PROCESSOR_H */
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
You can’t perform that action at this time.