Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
Macros | Typedefs | Enumerations | Functions
x86_multiboot/MAL/include/maldefines.h File Reference
#include "x86int.h"
#include "pip_interrupt_calls.h"
#include <stdint.h>

Go to the source code of this file.

Macros

#define true   1
 
#define false   0
 
#define getDefaultPage   defaultAddr
 
#define Page_eqb   eqb
 
#define getDefaultVAddr   defaultAddr
 
#define VAddr_eqbList   addressEquals
 
#define beqVAddr   addressEquals
 
#define getSh1idx   indexSh1
 
#define getSh2idx   indexSh2
 
#define getSh3idx   indexSh3
 
#define getPRidx   zero
 
#define getPDidx   indexPD
 
#define getPPRidx   PPRidx
 
#define getNbLevel   getNbIndex
 
#define getKidx   kernelIndex
 
#define Index_succ   inc
 
#define Index_pred   sub
 
#define Index_eqb   eqb
 
#define Index_zero   zero
 
#define Index_const3()   3
 
#define Index_geb   geb
 
#define Index_gtb   gtb
 
#define Index_leb   leb
 
#define Index_ltb   ltb
 
#define PreIndex_ltb   ltb
 
#define PreLevel_eqb   eqb
 
#define PreLevel_pred   sub
 
#define fstLevel   0
 
#define fstPreLevel   0
 
#define tableSize   getTableSize()
 
#define Level_succ   inc
 
#define Level_pred   sub
 
#define Level_eqb   eqb
 
#define Level_gtb   gtb
 
#define Count_succ   inc
 
#define Count_geb   geb
 
#define Count_zero   zero
 
#define Count_mul3   mul3
 
#define writeVirEntry   writePhysical
 
#define writePhyEntry   writePhysicalWithLotsOfFlags
 
#define mapKernel   writeKernelPhysicalEntry
 
#define readVirtual   readPhysical
 
#define readVirtualUser   readPhysical
 
#define readVirEntry   readPhysicalNoFlags
 
#define readPhyEntry   readPhysicalNoFlags
 
#define writeVirtual   writePhysical
 
#define getMultiplexer   getRootPartition
 
#define getStoreFetchIndex   zero
 
#define fetchVirtual   readTableVirtual
 
#define preVaddrToVaddr(x)   x
 
#define succNbLevel   (nbLevel + 1)
 
#define maxprelevel   (nbLevel - 1)
 
#define coq_N   1024*1024
 
#define maxFreeLL()   ((tableSize / 2) - 2)
 
#define contextAddr   user_ctx_t *
 
#define contextSizeMinusOne   (sizeof(user_ctx_t) - 1)
 
#define userValue   uint32_t
 
#define setInterruptMask   kernel_set_int_state
 

Typedefs

typedef uint32_t bool
 
typedef uintptr_t page
 
typedef uintptr_t vaddr
 
typedef uint32_t index
 
typedef uint32_t level
 
typedef uint32_t count
 
typedef uint32_t preVaddr
 
typedef uint32_t preIndex
 
typedef uint32_t preLevel
 
typedef uint32_t boolvaddr
 
typedef uint32_t interruptMask
 
typedef enum yield_checks_e yield_checks
 

Enumerations

enum  yield_checks_e {
  coq_SUCCESS =0, coq_FAIL_INVALID_INT_LEVEL =1, coq_FAIL_INVALID_CTX_SAVE_INDEX =2, coq_FAIL_ROOT_CALLER =3,
  coq_FAIL_INVALID_CHILD =4, coq_FAIL_UNAVAILABLE_TARGET_VIDT =5, coq_FAIL_UNAVAILABLE_CALLER_VIDT =6, coq_FAIL_MASKED_INTERRUPT =7,
  coq_FAIL_UNAVAILABLE_TARGET_CTX =8, coq_FAIL_CALLER_CONTEXT_SAVE =9, coq_SUCCESS =0, coq_FAIL_INVALID_INT_LEVEL =1,
  coq_FAIL_INVALID_CTX_SAVE_INDEX =2, coq_FAIL_ROOT_CALLER =3, coq_FAIL_INVALID_CHILD =4, coq_FAIL_UNAVAILABLE_TARGET_VIDT =5,
  coq_FAIL_UNAVAILABLE_CALLER_VIDT =6, coq_FAIL_MASKED_INTERRUPT =7, coq_FAIL_UNAVAILABLE_TARGET_CTX =8, coq_FAIL_CALLER_CONTEXT_SAVE =9
}
 

Functions

uint32_t getVidtVAddr (void)
 

Macro Definition Documentation

◆ beqVAddr

#define beqVAddr   addressEquals

◆ contextAddr

#define contextAddr   user_ctx_t *

◆ contextSizeMinusOne

#define contextSizeMinusOne   (sizeof(user_ctx_t) - 1)

◆ coq_N

#define coq_N   1024*1024

◆ Count_geb

#define Count_geb   geb

◆ Count_mul3

#define Count_mul3   mul3

◆ Count_succ

#define Count_succ   inc

◆ Count_zero

#define Count_zero   zero

◆ false

#define false   0

◆ fetchVirtual

#define fetchVirtual   readTableVirtual

◆ fstLevel

#define fstLevel   0

◆ fstPreLevel

#define fstPreLevel   0

◆ getDefaultPage

#define getDefaultPage   defaultAddr

◆ getDefaultVAddr

#define getDefaultVAddr   defaultAddr

◆ getKidx

#define getKidx   kernelIndex

◆ getMultiplexer

#define getMultiplexer   getRootPartition

◆ getNbLevel

#define getNbLevel   getNbIndex

◆ getPDidx

#define getPDidx   indexPD

◆ getPPRidx

#define getPPRidx   PPRidx

◆ getPRidx

#define getPRidx   zero

◆ getSh1idx

#define getSh1idx   indexSh1

◆ getSh2idx

#define getSh2idx   indexSh2

◆ getSh3idx

#define getSh3idx   indexSh3

◆ getStoreFetchIndex

#define getStoreFetchIndex   zero

◆ Index_const3

#define Index_const3 ( )    3

◆ Index_eqb

#define Index_eqb   eqb

◆ Index_geb

#define Index_geb   geb

◆ Index_gtb

#define Index_gtb   gtb

◆ Index_leb

#define Index_leb   leb

◆ Index_ltb

#define Index_ltb   ltb

◆ Index_pred

#define Index_pred   sub

◆ Index_succ

#define Index_succ   inc

◆ Index_zero

#define Index_zero   zero

◆ Level_eqb

#define Level_eqb   eqb

◆ Level_gtb

#define Level_gtb   gtb

◆ Level_pred

#define Level_pred   sub

◆ Level_succ

#define Level_succ   inc

◆ mapKernel

#define mapKernel   writeKernelPhysicalEntry

◆ maxFreeLL

#define maxFreeLL ( )    ((tableSize / 2) - 2)

◆ maxprelevel

#define maxprelevel   (nbLevel - 1)

◆ Page_eqb

#define Page_eqb   eqb

◆ PreIndex_ltb

#define PreIndex_ltb   ltb

◆ PreLevel_eqb

#define PreLevel_eqb   eqb

◆ PreLevel_pred

#define PreLevel_pred   sub

◆ preVaddrToVaddr

#define preVaddrToVaddr (   x)    x

◆ readPhyEntry

#define readPhyEntry   readPhysicalNoFlags

◆ readVirEntry

#define readVirEntry   readPhysicalNoFlags

◆ readVirtual

#define readVirtual   readPhysical

◆ readVirtualUser

#define readVirtualUser   readPhysical

◆ setInterruptMask

#define setInterruptMask   kernel_set_int_state

◆ succNbLevel

#define succNbLevel   (nbLevel + 1)

◆ tableSize

#define tableSize   getTableSize()

◆ true

#define true   1

◆ userValue

#define userValue   uint32_t

◆ VAddr_eqbList

#define VAddr_eqbList   addressEquals

◆ writePhyEntry

#define writePhyEntry   writePhysicalWithLotsOfFlags

◆ writeVirEntry

#define writeVirEntry   writePhysical

◆ writeVirtual

#define writeVirtual   writePhysical

Typedef Documentation

◆ bool

typedef uint32_t bool

◆ boolvaddr

typedef uint32_t boolvaddr

◆ count

typedef uint32_t count

◆ index

typedef uint32_t index

◆ interruptMask

typedef uint32_t interruptMask

◆ level

typedef uint32_t level

◆ page

typedef uintptr_t page

◆ preIndex

typedef uint32_t preIndex

◆ preLevel

typedef uint32_t preLevel

◆ preVaddr

typedef uint32_t preVaddr

◆ vaddr

typedef uintptr_t vaddr

◆ yield_checks

Enumeration Type Documentation

◆ yield_checks_e

Enumerator
coq_SUCCESS 
coq_FAIL_INVALID_INT_LEVEL 
coq_FAIL_INVALID_CTX_SAVE_INDEX 
coq_FAIL_ROOT_CALLER 
coq_FAIL_INVALID_CHILD 
coq_FAIL_UNAVAILABLE_TARGET_VIDT 
coq_FAIL_UNAVAILABLE_CALLER_VIDT 
coq_FAIL_MASKED_INTERRUPT 
coq_FAIL_UNAVAILABLE_TARGET_CTX 
coq_FAIL_CALLER_CONTEXT_SAVE 
coq_SUCCESS 
coq_FAIL_INVALID_INT_LEVEL 
coq_FAIL_INVALID_CTX_SAVE_INDEX 
coq_FAIL_ROOT_CALLER 
coq_FAIL_INVALID_CHILD 
coq_FAIL_UNAVAILABLE_TARGET_VIDT 
coq_FAIL_UNAVAILABLE_CALLER_VIDT 
coq_FAIL_MASKED_INTERRUPT 
coq_FAIL_UNAVAILABLE_TARGET_CTX 
coq_FAIL_CALLER_CONTEXT_SAVE 

Function Documentation

◆ getVidtVAddr()

uint32_t getVidtVAddr ( void  )