Embedded Xinu Operating System
An ongoing research project and educational operating system.
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Groups Pages
Data Structures | Enumerations | Functions | Variables
platforminit.c File Reference
#include <platform.h>
#include <string.h>
#include <bcm2837.h>
#include <rpi_gpio.h>
#include "../../../device/uart-pl011/pl011.h"
#include <mmu.h>
#include <random.h>
#include <mutex.h>
#include <queue.h>
#include <thread.h>
#include <semaphore.h>

Data Structures

struct  atag_header
 
struct  atag_mem
 
struct  atag_serialnr
 
struct  atag
 

Enumerations

enum  {
  ATAG_NONE = 0x00000000, ATAG_CORE = 0x54410001, ATAG_MEM = 0x54410002, ATAG_VIDEOTEXT = 0x54410003,
  ATAG_RAMDISK = 0x54410004, ATAG_INITRD2 = 0x54410005, ATAG_SERIAL = 0x54410006, ATAG_REVISION = 0x54410007,
  ATAG_VIDEOLFB = 0x54410008, ATAG_CMDLINE = 0x54410009
}
 

Functions

void led_init (void)
 
void led_on (void)
 
void led_off (void)
 
int platforminit (void)
 

Variables

struct atagatags_ptr = (void*)-1
 
void * _end
 

Variable Documentation

struct atag* atags_ptr = (void*)-1

Physical memory address at which the bootloader placed the ARM boot tags. tagata This is set by the code in start.S. Here, initialize it to a dummy value to prevent it from being placed in .bss.