git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix compilation issues in aarch64 ports
[lunaix-os.git]
/
lunaix-os
/
arch
/
aarch64
/
includes
/
asm
/
hart.h
diff --git
a/lunaix-os/arch/aarch64/includes/asm/hart.h
b/lunaix-os/arch/aarch64/includes/asm/hart.h
index ae84ddd13c70c373f7bda587d324f626ff522784..fa1f4bfd165f7b30322d84bc398c9b98e27ff13c 100644
(file)
--- a/
lunaix-os/arch/aarch64/includes/asm/hart.h
+++ b/
lunaix-os/arch/aarch64/includes/asm/hart.h
@@
-15,7
+15,7
@@
struct regcontext
union {
reg_t x[31];
struct {
union {
reg_t x[31];
struct {
- reg_t x[29];
+ reg_t x
_
[29];
reg_t fp;
reg_t lr;
};
reg_t fp;
reg_t lr;
};
@@
-29,7
+29,7
@@
struct exec_param
reg_t link;
struct {
reg_t sp_el0;
reg_t link;
struct {
reg_t sp_el0;
- reg_t
sp_el1
;
+ reg_t
rsvd
;
};
reg_t syndrome;
};
reg_t syndrome;
@@
-73,10
+73,7
@@
hart_pc(struct hart_state* hstate)
static inline ptr_t
hart_sp(struct hart_state* hstate)
{
static inline ptr_t
hart_sp(struct hart_state* hstate)
{
- if (spsr_from_el0(hstate->execp.spsr)) {
- return hstate->execp.sp_el0;
- }
- return hstate->execp.sp_el1;
+ return __ptr(&hstate[-1]);
}
static inline bool
}
static inline bool