OpenSSD Cosmos+ Platform Firmware  0.0.2
The firmware of Cosmos+ OpenSSD Platform for TOSHIBA nand flash module.
main.c File Reference
#include "xil_cache.h"
#include "xil_exception.h"
#include "xil_mmu.h"
#include "xparameters_ps.h"
#include "xscugic_hw.h"
#include "xscugic.h"
#include "xil_printf.h"
#include "debug.h"
#include "nvme/nvme.h"
#include "nvme/nvme_main.h"
#include "nvme/host_lld.h"
Include dependency graph for main.c:

Go to the source code of this file.

Macros

#define MB   (1024 * 1024)
 

Functions

int main ()
 

Variables

XScuGic GicInstance
 

Macro Definition Documentation

◆ MB

#define MB   (1024 * 1024)

Function Documentation

◆ main()

int main ( )

Definition at line 76 of file main.c.

77{
78 unsigned int u;
79
80 XScuGic_Config *IntcConfig;
81
85
86// Paging table set
87#define MB (1024 * 1024)
88 for (u = 0; u < 4096; u++)
89 {
90 if (u < 0x2)
91 Xil_SetTlbAttributes(u * MB, 0xC1E); // cached & buffered
92 else if (u < 0x180)
93 Xil_SetTlbAttributes(u * MB, 0xC12); // uncached & nonbuffered
94 else if (u < 0x400)
95 Xil_SetTlbAttributes(u * MB, 0xC1E); // cached & buffered
96 else
97 Xil_SetTlbAttributes(u * MB, 0xC12); // uncached & nonbuffered
98 }
99
103 xil_printf("[!] MMU has been enabled.\r\n");
104
105 xil_printf("\r\n Hello COSMOS+ OpenSSD !!! \r\n");
106
108
110 XScuGic_CfgInitialize(&GicInstance, IntcConfig, IntcConfig->CpuBaseAddress);
112 &GicInstance);
113
115
117
118 // Enable interrupts in the Processor.
121
122 dev_irq_init();
123
124 nvme_main();
125
126 xil_printf("done\r\n");
127
128 return 0;
129}
#define Xil_DisableMMU(...)
Definition: bsp.h:43
#define XPAR_SCUGIC_SINGLE_DEVICE_ID
Definition: bsp.h:53
#define Xil_EnableMMU(...)
Definition: bsp.h:42
#define XIL_EXCEPTION_IRQ
Definition: bsp.h:35
#define Xil_ExceptionInit(...)
Definition: bsp.h:44
#define Xil_ICacheEnable(...)
Definition: bsp.h:38
#define Xil_SetTlbAttributes(...)
Definition: bsp.h:48
#define Xil_ICacheDisable(...)
Definition: bsp.h:39
#define Xil_ExceptionEnable(...)
Definition: bsp.h:45
#define Xil_ExceptionEnableMask(...)
Definition: bsp.h:46
#define XIL_EXCEPTION_ID_INT
Definition: bsp.h:36
#define Xil_DCacheDisable(...)
Definition: bsp.h:41
#define XScuGic_LookupConfig(...)
Definition: bsp.h:51
#define XScuGic_Enable(...)
Definition: bsp.h:49
#define Xil_DCacheEnable(...)
Definition: bsp.h:40
#define XScuGic_Connect(...)
Definition: bsp.h:50
#define Xil_ExceptionRegisterHandler(...)
Definition: bsp.h:47
#define XScuGic_CfgInitialize(...)
Definition: bsp.h:52
void dev_irq_init()
Definition: host_lld.c:66
void dev_irq_handler()
Definition: host_lld.c:86
#define MB
XScuGic GicInstance
Definition: main.c:74
void nvme_main()
Definition: nvme_main.c:73
Definition: bsp.h:7
void * CpuBaseAddress
Definition: bsp.h:8
Here is the call graph for this function:

Variable Documentation

◆ GicInstance

XScuGic GicInstance

Definition at line 74 of file main.c.