2019-12-01 22:57:02 +01:00
|
|
|
/******************************************************************************
|
|
|
|
*
|
|
|
|
* Copyright (c) 2017-2019 by Löwenware Ltd
|
|
|
|
* Please, refer LICENSE file for legal information
|
|
|
|
*
|
|
|
|
******************************************************************************/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @file util.h
|
|
|
|
* @author Ilja Kartašov <ik@lowenware.com>
|
|
|
|
* @brief
|
|
|
|
*
|
|
|
|
* @see https://lowenware.com/
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef AARCH64_H_F3AA8888_CEB3_4C16_9835_C3F23B040BB5
|
|
|
|
#define AARCH64_H_F3AA8888_CEB3_4C16_9835_C3F23B040BB5
|
|
|
|
|
2020-01-29 12:01:32 +01:00
|
|
|
#include <leos/types.h>
|
2019-12-01 22:57:02 +01:00
|
|
|
#include "aarch64_reg.h"
|
|
|
|
#include "aarch64_irq.h"
|
|
|
|
|
|
|
|
extern unsigned int
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_init(void);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern unsigned int
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_getEL(void);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern unsigned int
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_getReg32(unsigned long reg);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern void
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_setReg32(unsigned long reg, unsigned int value);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern void
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_idle(unsigned long cycles);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern void
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_enableIRQ(void);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
|
|
|
extern void
|
2020-01-15 10:56:04 +01:00
|
|
|
AArch64_disableIRQ(void);
|
|
|
|
|
|
|
|
extern void
|
|
|
|
AArch64_memzero(void *addr, unsigned long size);
|
2019-12-01 22:57:02 +01:00
|
|
|
|
2020-01-21 11:02:38 +01:00
|
|
|
extern void
|
|
|
|
AArch64_startTask(void *arg, void *callback);
|
|
|
|
|
2020-01-29 12:01:32 +01:00
|
|
|
extern uint32_t
|
|
|
|
AArch64_getPState(void);
|
|
|
|
|
2020-01-20 09:14:13 +01:00
|
|
|
extern void
|
|
|
|
AArch64_switchContext(void *currentTask, void *nextTask);
|
|
|
|
|
2019-12-01 22:57:02 +01:00
|
|
|
#endif /* !AARCH64_H */
|