SyterKit 0.4.0.x
SyterKit is a bare-metal framework
Loading...
Searching...
No Matches
Macros | Functions
main.c File Reference
#include <byteorder.h>
#include <endian.h>
#include <io.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdint.h>
#include <stdlib.h>
#include <string.h>
#include <types.h>
Include dependency graph for main.c:

Macros

#define ARM_SVC_CALL_COUNT   0x8000ff00
 
#define ARM_SVC_UID   0x8000ff01
 
#define ARM_SVC_VERSION   0x8000ff03
 
#define ARM_SVC_RUNNSOS   0x8000ff04
 
#define PSCI_CPU_OFF   0x84000002
 
#define PSCI_CPU_ON_AARCH32   0x84000003
 
#define PSCI_SYSTEM_OFF   0x84000008
 
#define SUNXI_CPU_ON_AARCH32   0x84000010
 
#define SUNXI_CPU_OFF_AARCH32   0x84000011
 
#define SUNXI_CPU_WFI_AARCH32   0x84000012
 
#define ARM_SVC_ARISC_STARTUP   0x8000ff10
 
#define ARM_SVC_ARISC_WAIT_READY   0x8000ff11
 
#define ARM_SVC_ARISC_READ_PMU   0x8000ff12
 
#define ARM_SVC_ARISC_WRITE_PMU   0x8000ff13
 
#define ARM_SVC_ARISC_FAKE_POWER_OFF_REQ_ARCH32   0x83000019
 
#define ARM_SVC_FAKE_POWER_OFF   0x8000ff14
 
#define ARM_SVC_UBOOT_POWER_OFF   0x8000ff15
 
#define ARM_SVC_EFUSE_READ   (0x8000fe00)
 
#define ARM_SVC_EFUSE_WRITE   (0x8000fe01)
 
#define ARM_SVC_EFUSE_PROBE_SECURE_ENABLE_AARCH32   (0x8000fe03)
 
#define ARM_SVC_EFUSE_CUSTOMER_RESERVED_HANDLE   (0x8000fe05)
 
#define CONFIG_DTB_LOAD_ADDR   (0x40400000)
 
#define CONFIG_KERNEL_LOAD_ADDR   (0x40800000)
 

Functions

uint32_t __sunxi_smc_call (smc_call_arg_t arg0, smc_call_arg_t arg1, smc_call_arg_t arg2, smc_call_arg_t arg3)
 
uint32_t sunxi_smc_call_atf (smc_call_arg_t arg0, smc_call_arg_t arg1, smc_call_arg_t arg2, smc_call_arg_t arg3, smc_call_arg_t pResult)
 
uint32_t arm_svc_run_os (smc_call_arg_t kernel, smc_call_arg_t fdt, smc_call_arg_t arg2)
 
void print_banner (void)
 
void sys_boot ()
 

Macro Definition Documentation

◆ ARM_SVC_ARISC_FAKE_POWER_OFF_REQ_ARCH32

#define ARM_SVC_ARISC_FAKE_POWER_OFF_REQ_ARCH32   0x83000019

◆ ARM_SVC_ARISC_READ_PMU

#define ARM_SVC_ARISC_READ_PMU   0x8000ff12

◆ ARM_SVC_ARISC_STARTUP

#define ARM_SVC_ARISC_STARTUP   0x8000ff10

◆ ARM_SVC_ARISC_WAIT_READY

#define ARM_SVC_ARISC_WAIT_READY   0x8000ff11

◆ ARM_SVC_ARISC_WRITE_PMU

#define ARM_SVC_ARISC_WRITE_PMU   0x8000ff13

◆ ARM_SVC_CALL_COUNT

#define ARM_SVC_CALL_COUNT   0x8000ff00

◆ ARM_SVC_EFUSE_CUSTOMER_RESERVED_HANDLE

#define ARM_SVC_EFUSE_CUSTOMER_RESERVED_HANDLE   (0x8000fe05)

◆ ARM_SVC_EFUSE_PROBE_SECURE_ENABLE_AARCH32

#define ARM_SVC_EFUSE_PROBE_SECURE_ENABLE_AARCH32   (0x8000fe03)

◆ ARM_SVC_EFUSE_READ

#define ARM_SVC_EFUSE_READ   (0x8000fe00)

◆ ARM_SVC_EFUSE_WRITE

#define ARM_SVC_EFUSE_WRITE   (0x8000fe01)

◆ ARM_SVC_FAKE_POWER_OFF

#define ARM_SVC_FAKE_POWER_OFF   0x8000ff14

◆ ARM_SVC_RUNNSOS

#define ARM_SVC_RUNNSOS   0x8000ff04

◆ ARM_SVC_UBOOT_POWER_OFF

#define ARM_SVC_UBOOT_POWER_OFF   0x8000ff15

◆ ARM_SVC_UID

#define ARM_SVC_UID   0x8000ff01

◆ ARM_SVC_VERSION

#define ARM_SVC_VERSION   0x8000ff03

◆ CONFIG_DTB_LOAD_ADDR

#define CONFIG_DTB_LOAD_ADDR   (0x40400000)

◆ CONFIG_KERNEL_LOAD_ADDR

#define CONFIG_KERNEL_LOAD_ADDR   (0x40800000)

◆ PSCI_CPU_OFF

#define PSCI_CPU_OFF   0x84000002

◆ PSCI_CPU_ON_AARCH32

#define PSCI_CPU_ON_AARCH32   0x84000003

◆ PSCI_SYSTEM_OFF

#define PSCI_SYSTEM_OFF   0x84000008

◆ SUNXI_CPU_OFF_AARCH32

#define SUNXI_CPU_OFF_AARCH32   0x84000011

◆ SUNXI_CPU_ON_AARCH32

#define SUNXI_CPU_ON_AARCH32   0x84000010

◆ SUNXI_CPU_WFI_AARCH32

#define SUNXI_CPU_WFI_AARCH32   0x84000012

Function Documentation

◆ __sunxi_smc_call()

uint32_t __sunxi_smc_call ( smc_call_arg_t  arg0,
smc_call_arg_t  arg1,
smc_call_arg_t  arg2,
smc_call_arg_t  arg3 
)
extern

◆ arm_svc_run_os()

uint32_t arm_svc_run_os ( smc_call_arg_t  kernel,
smc_call_arg_t  fdt,
smc_call_arg_t  arg2 
)

◆ print_banner()

void print_banner ( void  )

◆ sunxi_smc_call_atf()

uint32_t sunxi_smc_call_atf ( smc_call_arg_t  arg0,
smc_call_arg_t  arg1,
smc_call_arg_t  arg2,
smc_call_arg_t  arg3,
smc_call_arg_t  pResult 
)

◆ sys_boot()

void sys_boot ( )