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
1
Pull requests
0
Actions
Projects
0
Wiki
Security
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Projects
Wiki
Security
Insights
Files
6546327
Documentation
arch
alpha
arc
arm
arm64
avr32
blackfin
c6x
cris
frv
h8300
hexagon
ia64
m32r
m68k
metag
microblaze
boot
configs
include
asm
Kbuild
asm-compat.h
asm-offsets.h
atomic.h
barrier.h
bitops.h
bug.h
bugs.h
cache.h
cacheflush.h
checksum.h
cmpxchg.h
cpuinfo.h
cputable.h
cputime.h
current.h
delay.h
device.h
div64.h
dma-mapping.h
dma.h
elf.h
emergency-restart.h
entry.h
exceptions.h
fb.h
fixmap.h
flat.h
ftrace.h
futex.h
gpio.h
hardirq.h
highmem.h
hw_irq.h
io.h
irq.h
irq_regs.h
irqflags.h
kdebug.h
kgdb.h
kmap_types.h
linkage.h
local.h
local64.h
mmu.h
mmu_context.h
mmu_context_mm.h
module.h
mutex.h
page.h
parport.h
pci-bridge.h
pci.h
percpu.h
pgalloc.h
pgtable.h
processor.h
prom.h
ptrace.h
pvr.h
registers.h
scatterlist.h
seccomp.h
sections.h
selfmod.h
serial.h
setup.h
shmparam.h
string.h
switch_to.h
syscall.h
thread_info.h
timex.h
tlb.h
tlbflush.h
topology.h
uaccess.h
ucontext.h
unaligned.h
unistd.h
unwind.h
user.h
vga.h
xor.h
uapi
kernel
lib
mm
oprofile
pci
platform
Kconfig
Kconfig.debug
Makefile
mips
mn10300
openrisc
parisc
powerpc
s390
score
sh
sparc
tile
um
unicore32
x86
xtensa
.gitignore
Kconfig
block
crypto
drivers
firmware
fs
include
init
ipc
kernel
lib
mm
net
samples
scripts
security
sound
tools
usr
virt
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile
README
REPORTING-BUGS
Breadcrumbs
linux
/
arch
/
microblaze
/
include
/
asm
/
processor.h
Copy path
Blame
Blame
Latest commit
History
History
171 lines (132 loc) · 4.54 KB
Breadcrumbs
linux
/
arch
/
microblaze
/
include
/
asm
/
processor.h
Top
File metadata and controls
Code
Blame
171 lines (132 loc) · 4.54 KB
Raw
/* * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> * Copyright (C) 2008-2009 PetaLogix * Copyright (C) 2006 Atmark Techno, Inc. * * 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. */ #ifndef _ASM_MICROBLAZE_PROCESSOR_H #define _ASM_MICROBLAZE_PROCESSOR_H #include <asm/ptrace.h> #include <asm/setup.h> #include <asm/registers.h> #include <asm/entry.h> #include <asm/current.h> # ifndef __ASSEMBLY__ /* from kernel/cpu/mb.c */ extern const struct seq_operations cpuinfo_op; # define cpu_relax() barrier() # define cpu_sleep() do {} while (0) #define task_pt_regs(tsk) \ (((struct pt_regs *)(THREAD_SIZE + task_stack_page(tsk))) - 1) /* Do necessary setup to start up a newly executed thread. */ void start_thread(struct pt_regs *regs, unsigned long pc, unsigned long usp); extern void ret_from_fork(void); extern void ret_from_kernel_thread(void); # endif /* __ASSEMBLY__ */ # ifndef CONFIG_MMU /* * User space process size: memory size * * TASK_SIZE on MMU cpu is usually 1GB. However, on no-MMU arch, both * user processes and the kernel is on the same memory region. They * both share the memory space and that is limited by the amount of * physical memory. thus, we set TASK_SIZE == amount of total memory. */ # define TASK_SIZE (0x81000000 - 0x80000000) /* * Default implementation of macro that returns current * instruction pointer ("program counter"). */ # define current_text_addr() ({ __label__ _l; _l: &&_l; }) /* * This decides where the kernel will search for a free chunk of vm * space during mmap's. We won't be using it */ # define TASK_UNMAPPED_BASE 0 /* definition in include/linux/sched.h */ struct task_struct; /* thread_struct is gone. use thread_info instead. */ struct thread_struct { }; # define INIT_THREAD { } /* Free all resources held by a thread. */ static inline void release_thread(struct task_struct *dead_task) { } /* Free all resources held by a thread. */ static inline void exit_thread(void) { } extern unsigned long thread_saved_pc(struct task_struct *t); extern unsigned long get_wchan(struct task_struct *p); # define KSTK_EIP(tsk) (0) # define KSTK_ESP(tsk) (0) # else /* CONFIG_MMU */ /* * This is used to define STACK_TOP, and with MMU it must be below * kernel base to select the correct PGD when handling MMU exceptions. */ # define TASK_SIZE (CONFIG_KERNEL_START) /* * This decides where the kernel will search for a free chunk of vm * space during mmap's. */ # define TASK_UNMAPPED_BASE (TASK_SIZE / 8 * 3) # define THREAD_KSP 0 # ifndef __ASSEMBLY__ /* * Default implementation of macro that returns current * instruction pointer ("program counter"). */ # define current_text_addr() ({ __label__ _l; _l: &&_l; }) /* If you change this, you must change the associated assembly-languages * constants defined below, THREAD_*. */ struct thread_struct { /* kernel stack pointer (must be first field in structure) */ unsigned long ksp; unsigned long ksp_limit; /* if ksp <= ksp_limit stack overflow */ void *pgdir; /* root of page-table tree */ struct pt_regs *regs; /* Pointer to saved register state */ }; # define INIT_THREAD { \ .ksp = sizeof init_stack + (unsigned long)init_stack, \ .pgdir = swapper_pg_dir, \ } /* Free all resources held by a thread. */ extern inline void release_thread(struct task_struct *dead_task) { } /* Free current thread data structures etc. */ static inline void exit_thread(void) { } /* Return saved (kernel) PC of a blocked thread. */ # define thread_saved_pc(tsk) \ ((tsk)->thread.regs ? (tsk)->thread.regs->r15 : 0) unsigned long get_wchan(struct task_struct *p); /* The size allocated for kernel stacks. This _must_ be a power of two! */ # define KERNEL_STACK_SIZE 0x2000 /* Return some info about the user process TASK. */ # define task_tos(task) ((unsigned long)(task) + KERNEL_STACK_SIZE) # define task_regs(task) ((struct pt_regs *)task_tos(task) - 1) # define task_pt_regs_plus_args(tsk) \ ((void *)task_pt_regs(tsk)) # define task_sp(task) (task_regs(task)->r1) # define task_pc(task) (task_regs(task)->pc) /* Grotty old names for some. */ # define KSTK_EIP(task) (task_pc(task)) # define KSTK_ESP(task) (task_sp(task)) /* FIXME */ # define deactivate_mm(tsk, mm) do { } while (0) # define STACK_TOP TASK_SIZE # define STACK_TOP_MAX STACK_TOP void default_idle(void); #ifdef CONFIG_DEBUG_FS extern struct dentry *of_debugfs_root; #endif # endif /* __ASSEMBLY__ */ # endif /* CONFIG_MMU */ #endif /* _ASM_MICROBLAZE_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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
You can’t perform that action at this time.