diff --git a/MEukaron/Include/Kernel/captbl.h b/MEukaron/Include/Kernel/captbl.h
index 46a5532..123bccc 100644
--- a/MEukaron/Include/Kernel/captbl.h
+++ b/MEukaron/Include/Kernel/captbl.h
@@ -3,7 +3,11 @@ Filename : captbl.h
Author : pry
Date : 01/04/2017
Licence : LGPL v3+; see COPYING for details.
-Description : The header of type table.
+Description : The header of type table. All the branches in these macros are
+ pretty much optimized with RME_LIKELY and (mainly )RME_UNLIKELY.
+ Due to the huge penalty of a wrong hint, only error handling in
+ headers, synchronous invocation activation and synchronous invocation
+ returning are heavily optimized.
******************************************************************************/
/* Defines *******************************************************************/
@@ -114,10 +118,10 @@ while(0)
do \
{ \
/* See if the capability is frozen */ \
- if(((CAP)->Head.Type_Ref&RME_CAP_FROZEN)!=0) \
+ if(RME_UNLIKELY(((CAP)->Head.Type_Ref&RME_CAP_FROZEN)!=0)) \
return RME_ERR_CAP_FROZEN; \
/* See if this capability allows such operations */ \
- if(((CAP)->Head.Flags&(FLAG))!=(FLAG)) \
+ if(RME_UNLIKELY(((CAP)->Head.Flags&(FLAG))!=(FLAG))) \
return RME_ERR_CAP_FLAG; \
} \
while(0)
@@ -127,41 +131,41 @@ while(0)
do \
{ \
/* See if the creation of such capability is allowed */ \
- if(((CAP)->Head.Flags&(FLAG))!=(FLAG)) \
+ if(RME_UNLIKELY(((CAP)->Head.Flags&(FLAG))!=(FLAG))) \
return RME_ERR_CAP_FLAG; \
/* The end is always aligned to 256 bytes in the kernel, and does not include the ending byte */ \
- if(((CAP)->Start>(START))||((CAP)->End<((START)+(SIZE)))) \
+ if(RME_UNLIKELY(((CAP)->Start>(START))||((CAP)->End<((START)+(SIZE))))) \
return RME_ERR_CAP_FLAG; \
} \
while(0)
-/* Defrost a frozen cap */
+/* Defrost a frozen cap - we do not check failure because if we fail, someone have done it for us */
#define RME_CAP_DEFROST(CAP,TEMP) \
do \
{ \
__RME_Comp_Swap(&((CAP)->Head.Type_Ref),&(TEMP),(TEMP)&(~((ptr_t)RME_CAP_FROZEN))); \
} \
while(0)
-
+
/* Checks to be done before deleting */
#define RME_CAP_DEL_CHECK(CAP,TEMP,TYPE) \
do \
{ \
(TEMP)=(CAP)->Head.Type_Ref; \
- /* See if the slot is frozen, and its cap must be not zero */ \
- if(((TEMP)&RME_CAP_FROZEN)!=0) \
+ /* See if the slot is frozen, and its cap must be non-zero */ \
+ if(RME_UNLIKELY(((TEMP)&RME_CAP_FROZEN)!=0)) \
return RME_ERR_CAP_FROZEN; \
/* See if we are in the creation/delegation process - This frozen flag is set by the creator */ \
- if(RME_CAP_TYPE(TEMP)==RME_CAP_NOP) \
+ if(RME_UNLIKELY(RME_CAP_TYPE(TEMP)==RME_CAP_NOP)) \
return RME_ERR_CAP_NULL; \
/* See if the cap type is correct. Only deletion checks type, while removing does not */ \
- if(RME_CAP_TYPE(TEMP)!=(TYPE)) \
+ if(RME_UNLIKELY(RME_CAP_TYPE(TEMP)!=(TYPE))) \
return RME_ERR_CAP_TYPE; \
/* See if the slot is quiescent */ \
- if(RME_CAP_QUIE((CAP)->Head.Timestamp)==0) \
+ if(RME_UNLIKELY(RME_CAP_QUIE((CAP)->Head.Timestamp)==0)) \
return RME_ERR_CAP_QUIE; \
/* To use deletion, we must be an unreferenced root */ \
- if((RME_CAP_REF(TEMP)!=0)||(((CAP)->Head.Parent)!=0)) \
+ if(RME_UNLIKELY((RME_CAP_REF(TEMP)!=0)||(((CAP)->Head.Parent)!=0))) \
{ \
/* We defrost the cap and return. Need cas, in case two competing deletions happen */ \
RME_CAP_DEFROST(CAP,TEMP); \
@@ -175,17 +179,17 @@ while(0)
do \
{ \
(TEMP)=(CAP)->Head.Type_Ref; \
- /* See if the slot is frozen, and its cap must be not zero */ \
- if(((TEMP)&RME_CAP_FROZEN)!=0) \
+ /* See if the slot is frozen, and its cap must be non-zero */ \
+ if(RME_UNLIKELY(((TEMP)&RME_CAP_FROZEN)!=0)) \
return RME_ERR_CAP_FROZEN; \
/* See if we are in the creation/delegation process - This frozen flag is set by the creator */ \
- if(RME_CAP_TYPE(TEMP)==RME_CAP_NOP) \
+ if(RME_UNLIKELY(RME_CAP_TYPE(TEMP)==RME_CAP_NOP)) \
return RME_ERR_CAP_NULL; \
/* See if the slot is quiescent */ \
- if(RME_CAP_QUIE((CAP)->Head.Timestamp)==0) \
+ if(RME_UNLIKELY(RME_CAP_QUIE((CAP)->Head.Timestamp)==0)) \
return RME_ERR_CAP_QUIE; \
/* To use removal, we must be an unreferenced child */ \
- if((RME_CAP_REF(TEMP)!=0)||(((CAP)->Head.Parent)==0)) \
+ if(RME_UNLIKELY((RME_CAP_REF(TEMP)!=0)||(((CAP)->Head.Parent)==0))) \
{ \
/* We defrost the cap and return. Need cas, in case two competing removals happen */ \
RME_CAP_DEFROST(CAP,TEMP); \
@@ -199,7 +203,7 @@ while(0)
do \
{ \
/* If this fails, then it means that somebody have deleted/removed it first */ \
- if(__RME_Comp_Swap(&((CAP)->Head.Type_Ref),&(TEMP),0)==0) \
+ if(RME_UNLIKELY(__RME_Comp_Swap(&((CAP)->Head.Type_Ref),&(TEMP),0)==0)) \
return RME_ERR_CAP_NULL; \
} \
while(0)
@@ -210,7 +214,7 @@ do \
{ \
/* Check if anything is there. If there is nothing there, the Type_Ref must be 0 */ \
(TEMP)=RME_CAP_TYPEREF(RME_CAP_NOP,0); \
- if(__RME_Comp_Swap(&((CAP)->Head.Type_Ref),&(TEMP),RME_CAP_FROZEN)==0) \
+ if(RME_UNLIKELY(__RME_Comp_Swap(&((CAP)->Head.Type_Ref),&(TEMP),RME_CAP_FROZEN)==0)) \
return RME_ERR_CAP_EXIST; \
} \
while(0)
@@ -220,7 +224,7 @@ while(0)
do \
{ \
/* Check if the captbl is over range */ \
- if((CAP_NUM)>=((CAPTBL)->Entry_Num)) \
+ if(RME_UNLIKELY((CAP_NUM)>=((CAPTBL)->Entry_Num))) \
return RME_ERR_CAP_RANGE; \
/* Get the slot position */ \
(PARAM)=&(RME_CAP_GETOBJ((CAPTBL),TYPE)[(CAP_NUM)]); \
@@ -235,35 +239,35 @@ do \
if(((CAP_NUM)&RME_CAPID_2L)==0) \
{ \
/* Check if the captbl is over range */ \
- if((CAP_NUM)>=((CAPTBL)->Entry_Num)) \
+ if(RME_UNLIKELY((CAP_NUM)>=((CAPTBL)->Entry_Num))) \
return RME_ERR_CAP_RANGE; \
/* Get the cap slot and check the type */ \
(PARAM)=(TYPE)(&RME_CAP_GETOBJ(CAPTBL,struct RME_Cap_Struct*)[(CAP_NUM)]); \
- if(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=(CAP_TYPE)) \
+ if(RME_UNLIKELY(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=(CAP_TYPE))) \
return RME_ERR_CAP_TYPE; \
} \
/* Yes, this is a 2-level cap */ \
else \
{ \
/* Check if the cap to potential captbl is over range */ \
- if(RME_CAP_H(CAP_NUM)>=((CAPTBL)->Entry_Num)) \
+ if(RME_UNLIKELY(RME_CAP_H(CAP_NUM)>=((CAPTBL)->Entry_Num))) \
return RME_ERR_CAP_RANGE; \
/* Get the cap slot */ \
(PARAM)=(TYPE)(&RME_CAP_GETOBJ(CAPTBL,struct RME_Cap_Captbl*)[RME_CAP_H(CAP_NUM)]); \
\
/* See if the captbl is frozen for deletion or removal */ \
- if(((PARAM)->Head.Type_Ref&RME_CAP_FROZEN)!=0) \
+ if(RME_UNLIKELY(((PARAM)->Head.Type_Ref&RME_CAP_FROZEN)!=0)) \
return RME_ERR_CAP_FROZEN; \
/* See if this is a captbl */ \
- if(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=RME_CAP_CAPTBL) \
+ if(RME_UNLIKELY(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=RME_CAP_CAPTBL)) \
return RME_ERR_CAP_TYPE; \
\
/* Check if the 2nd-layer captbl is over range */ \
- if(RME_CAP_L(CAP_NUM)>=(((struct RME_Cap_Captbl*)(PARAM))->Entry_Num)) \
+ if(RME_UNLIKELY(RME_CAP_L(CAP_NUM)>=(((struct RME_Cap_Captbl*)(PARAM))->Entry_Num))) \
return RME_ERR_CAP_RANGE; \
/* Get the cap slot and check the type */ \
(PARAM)=(TYPE)(&RME_CAP_GETOBJ(PARAM,struct RME_Cap_Struct*)[RME_CAP_L(CAP_NUM)]); \
- if(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=(CAP_TYPE)) \
+ if(RME_UNLIKELY(RME_CAP_TYPE((PARAM)->Head.Type_Ref)!=(CAP_TYPE))) \
return RME_ERR_CAP_TYPE; \
} \
} \
diff --git a/MEukaron/Include/Kernel/kernel.h b/MEukaron/Include/Kernel/kernel.h
index c612f99..50503ab 100644
--- a/MEukaron/Include/Kernel/kernel.h
+++ b/MEukaron/Include/Kernel/kernel.h
@@ -95,7 +95,7 @@ Description : The header of kernel system call path.
* Possible categories of context switch includes synchronous invocation and thread switch. */
#define RME_SWITCH_RETURN(REG,RETVAL) \
{ \
- if((RETVAL)<0) \
+ if(RME_UNLIKELY((RETVAL)<0)) \
__RME_Set_Syscall_Retval((REG),(RETVAL)); \
\
return; \
@@ -123,7 +123,7 @@ Description : The header of kernel system call path.
#define RME_ASSERT(X) \
do \
{ \
- if((X)==0) \
+ if(RME_UNLIKELY((X)==0)) \
{ \
RME_PRINTK_S((s8*)"\r\n***\r\nKernel panic - not syncing:\r\n"); \
RME_PRINTK_S((s8*)__FILE__); \
diff --git a/MEukaron/Include/Kernel/prcthd.h b/MEukaron/Include/Kernel/prcthd.h
index 16cae6a..f208f38 100644
--- a/MEukaron/Include/Kernel/prcthd.h
+++ b/MEukaron/Include/Kernel/prcthd.h
@@ -49,7 +49,7 @@ Description : The header of page table.
do \
{ \
/* Check if exceeded maximum time or overflowed */ \
- if((((DST)+(AMOUNT))>=RME_THD_MAX_TIME)||(((DST)+(AMOUNT))<(DST))) \
+ if(RME_UNLIKELY((((DST)+(AMOUNT))>=RME_THD_MAX_TIME)||(((DST)+(AMOUNT))<(DST)))) \
return RME_ERR_PTH_OVERFLOW; \
} \
while(0);
@@ -150,8 +150,8 @@ struct RME_Thd_Regs
{
/* The register set - architectural specific */
struct RME_Reg_Struct Reg;
- /* The co-processor/peripheral context - architectural specific. This usually
- * contains the FPU data */
+ /* The co-processor/peripheral context - architecture specific.
+ * This usually contains the FPU data */
struct RME_Cop_Struct Cop_Reg;
};
diff --git a/MEukaron/Include/Platform/CortexM/platform_cmx.h b/MEukaron/Include/Platform/CortexM/platform_cmx.h
index 1dcb944..2683cdb 100644
--- a/MEukaron/Include/Platform/CortexM/platform_cmx.h
+++ b/MEukaron/Include/Platform/CortexM/platform_cmx.h
@@ -84,6 +84,17 @@ typedef s32 ret_t;
#define EXTERN extern
/* Compiler "inline" keyword setting */
#define INLINE __forceinline
+/* Compiler likely & unlikely setting */
+#ifdef likely
+#define RME_LIKELY(X) (likely(X))
+#else
+#define RME_LIKELY(X) (X)
+#endif
+#ifdef unlikely
+#define RME_UNLIKELY(X) (unlikely(X))
+#else
+#define RME_UNLIKELY(X) (X)
+#endif
/* Number of CPUs in the system */
#define RME_CPU_NUM 1
/* The order of bits in one CPU machine word */
diff --git a/MEukaron/Include/Platform/X64/platform_x64.h b/MEukaron/Include/Platform/X64/platform_x64.h
index edb57da..3d90068 100644
--- a/MEukaron/Include/Platform/X64/platform_x64.h
+++ b/MEukaron/Include/Platform/X64/platform_x64.h
@@ -95,6 +95,17 @@ typedef s64 ret_t;
#define EXTERN extern
/* Compiler "inline" keyword setting */
#define INLINE inline
+/* Compiler likely & unlikely setting */
+#ifdef likely
+#define RME_LIKELY(X) (likely(X))
+#else
+#define RME_LIKELY(X) (X)
+#endif
+#ifdef unlikely
+#define RME_UNLIKELY(X) (unlikely(X))
+#else
+#define RME_UNLIKELY(X) (X)
+#endif
/* Number of CPUs in the system - max. 4096 ones are supported */
#define RME_CPU_NUM 256
/* The order of bits in one CPU machine word */
@@ -223,7 +234,7 @@ typedef s64 ret_t;
#define RME_X64_MMU_KERN_PDE (RME_X64_MMU_P|RME_X64_MMU_PDE_SUP|RME_X64_MMU_RW|RME_X64_MMU_G)
/* MMU definitions */
-/* Write info to MMU */
+/* Write info to MMU - no longer used because we have PCID */
#define RME_X64_CR3_PCD (1<<4)
#define RME_X64_CR3_PWT (1<<3)
@@ -812,8 +823,10 @@ struct RME_X64_Features
/* Page table registration table */
struct __RME_X64_Pgreg
{
- /* How many child page tables does this page table have? */
- ptr_t Child_Cnt;
+ /* What is the PCID of this page table? - This can be set through kernel function caps */
+ u32 PCID;
+ /* How many child page tables does this page table have? - this can never overflow */
+ u32 Child_Cnt;
/* How many parent page tables does this page table have? */
ptr_t Parent_Cnt;
};
@@ -867,6 +880,8 @@ static volatile struct RME_X64_IOAPIC_Info RME_X64_IOAPIC_Info[8];
static volatile ptr_t RME_X64_LAPIC_Addr;
/* The processor features */
static volatile struct RME_X64_Features RME_X64_Feature;
+/* The PCID counter */
+static volatile ptr_t RME_X64_PCID_Inc;
/* Translate the flags into X64 specific ones - the STATIC bit will never be
* set thus no need to consider about it here. The flag bits order is shown below:
diff --git a/MEukaron/Kernel/captbl.c b/MEukaron/Kernel/captbl.c
index 4ee6f69..80f3d03 100644
--- a/MEukaron/Kernel/captbl.c
+++ b/MEukaron/Kernel/captbl.c
@@ -166,7 +166,6 @@ ret_t _RME_Captbl_Boot_Crt(struct RME_Cap_Captbl* Captbl, cid_t Cap_Captbl_Crt,
/* Check if the target captbl is not frozen and allows such operations */
RME_CAP_CHECK(Captbl_Op,RME_CAPTBL_FLAG_CRT);
-
/* Get the cap slot */
RME_CAPTBL_GETSLOT(Captbl_Op,Cap_Crt,struct RME_Cap_Captbl*,Captbl_Crt);
/* Take the slot if possible */
diff --git a/MEukaron/Kernel/kernel.c b/MEukaron/Kernel/kernel.c
index 0921d4c..e7d9c90 100644
--- a/MEukaron/Kernel/kernel.c
+++ b/MEukaron/Kernel/kernel.c
@@ -292,11 +292,21 @@ void _RME_Svc_Handler(struct RME_Reg_Struct* Reg)
ptr_t Param[3];
ret_t Retval;
ptr_t CPUID;
+ ptr_t Svc_Num;
struct RME_Inv_Struct* Inv_Top;
struct RME_Cap_Captbl* Captbl;
-
+
/* Get the system call parameters from the system call */
__RME_Get_Syscall_Param(Reg, &Svc, &Capid, Param);
+ Svc_Num=Svc&0x3F;
+
+ /* Fast path - synchronous invocation returning */
+ if(Svc_Num==RME_SVC_INV_RET)
+ {
+ Retval=_RME_Inv_Ret(Reg /* struct RME_Reg_Struct* Reg */,
+ 0 /* ptr_t Fault_Flag */);
+ RME_SWITCH_RETURN(Reg,Retval);
+ }
/* Get our current capability table. No need to check whether it is frozen
* because it can't be deleted anyway */
@@ -306,29 +316,24 @@ void _RME_Svc_Handler(struct RME_Reg_Struct* Reg)
Captbl=RME_Cur_Thd[CPUID]->Sched.Proc->Captbl;
else
Captbl=Inv_Top->Proc->Captbl;
+
+ /* Fast path - synchronous invocation activation */
+ if(Svc_Num==RME_SVC_INV_ACT)
+ {
+ Retval=_RME_Inv_Act(Captbl, Reg /* struct RME_Reg_Struct* Reg */,
+ Param[0] /* cid_t Cap_Inv */,
+ Param[1] /* ptr_t Param */);
+ RME_SWITCH_RETURN(Reg,Retval);
+ }
/* See if this operation can potentially cause a register set switch. All the
* functions that may cause a register set switch is listed here. The behavior
* of these functions shall be: If the function is successful, they shall
* perform the return value saving on proper register stacks by themselves;
- * if the function fails, it should not conduct such return value saving. */
- switch((Svc&0x3F))
+ * if the function fails, it should not conduct such return value saving. These
+ * paths are less optimized than synchronous invocation, but are still optimized */
+ switch(Svc_Num)
{
- /* Return from invocation */
- case RME_SVC_INV_RET:
- {
- Retval=_RME_Inv_Ret(Reg /* struct RME_Reg_Struct* Reg */,
- 0 /* ptr_t Fault_Flag */);
- RME_SWITCH_RETURN(Reg,Retval);
- }
- /* Activate an invocation */
- case RME_SVC_INV_ACT:
- {
- Retval=_RME_Inv_Act(Captbl, Reg /* struct RME_Reg_Struct* Reg */,
- Param[0] /* cid_t Cap_Inv */,
- Param[1] /* ptr_t Param */);
- RME_SWITCH_RETURN(Reg,Retval);
- }
/* Send to a signal endpoint */
case RME_SVC_SIG_SND:
{
@@ -390,7 +395,7 @@ void _RME_Svc_Handler(struct RME_Reg_Struct* Reg)
}
/* It is guaranteed that these functions will never cause a context switch */
- switch((Svc&0x3F))
+ switch(Svc_Num)
{
/* Capability table */
case RME_SVC_CAPTBL_CRT:
diff --git a/MEukaron/Kernel/siginv.c b/MEukaron/Kernel/siginv.c
index 3a8a900..bd83f6b 100644
--- a/MEukaron/Kernel/siginv.c
+++ b/MEukaron/Kernel/siginv.c
@@ -512,6 +512,9 @@ ret_t _RME_Inv_Crt(struct RME_Cap_Captbl* Captbl, cid_t Cap_Captbl,
/* Fill in the structure */
Inv_Struct=(struct RME_Inv_Struct*)Vaddr;
Inv_Struct->Proc=RME_CAP_GETOBJ(Proc_Op,struct RME_Proc_Struct*);
+ Inv_Struct->Active=0;
+ /* By default we do not return on fault */
+ Inv_Struct->Fault_Ret_Flag=0;
/* Increase the reference count of the process structure(Not the process capability) */
__RME_Fetch_Add(&(RME_CAP_GETOBJ(Proc_Op, struct RME_Proc_Struct*)->Refcnt), 1);
@@ -568,7 +571,7 @@ ret_t _RME_Inv_Del(struct RME_Cap_Captbl* Captbl, cid_t Cap_Captbl, cid_t Cap_In
RME_CAP_REMDEL(Inv_Del,Type_Ref);
/* Dereference the process */
__RME_Fetch_Add(&(Inv_Struct->Proc->Refcnt), -1);
- /* Try to depopulate the area - this must be successful */
+ /* Try to clear the area - this must be successful */
RME_ASSERT(_RME_Kotbl_Erase((ptr_t)Inv_Struct,RME_INV_SIZE)!=0);
return 0;
@@ -622,26 +625,25 @@ ret_t _RME_Inv_Act(struct RME_Cap_Captbl* Captbl,
{
struct RME_Cap_Inv* Inv_Op;
struct RME_Inv_Struct* Inv_Struct;
- struct RME_Inv_Struct* Inv_Top;
struct RME_Thd_Struct* Thd_Struct;
ptr_t Active;
-
+
/* Get the capability slot */
RME_CAPTBL_GETCAP(Captbl,Cap_Inv,RME_CAP_INV,struct RME_Cap_Inv*,Inv_Op);
/* Check if the target cap is not frozen and allows such operations */
RME_CAP_CHECK(Inv_Op,RME_INV_FLAG_ACT);
-
+
/* Get the invocation struct */
Inv_Struct=RME_CAP_GETOBJ(Inv_Op,struct RME_Inv_Struct*);
/* See if we are currently active - If yes, we can activate it again */
Active=Inv_Struct->Active;
- if(Active!=0)
+ if(RME_UNLIKELY(Active!=0))
return RME_ERR_SIV_ACT;
/* Push this invocation stub capability into the current thread's invocation stack */
Thd_Struct=RME_Cur_Thd[RME_CPUID()];
/* Try to do CAS and activate it */
- if(__RME_Comp_Swap(&(Inv_Struct->Active),&Active,1)==0)
+ if(RME_UNLIKELY(__RME_Comp_Swap(&(Inv_Struct->Active),&Active,1)==0))
return RME_ERR_SIV_ACT;
/* Save whatever is needed to return to the point - normally only SP and IP needed
@@ -649,24 +651,15 @@ ret_t _RME_Inv_Act(struct RME_Cap_Captbl* Captbl,
* user-level. We do not set the return value because it will be saved by SRET.
* The coprocessor state will be consistent across the call */
__RME_Inv_Reg_Save(&(Inv_Struct->Ret), Reg);
- Inv_Top=RME_INVSTK_TOP(Thd_Struct);
/* Push this into the stack: insert after the thread list header */
__RME_List_Ins(&(Inv_Struct->Head),&(Thd_Struct->Inv_Stack),Thd_Struct->Inv_Stack.Next);
/* Setup the register contents, and do the invocation */
__RME_Thd_Reg_Init(Inv_Struct->Entry, Inv_Struct->Stack, Reg);
__RME_Inv_Reg_Init(Param, Reg);
- /* Are we invoking into a new process? If yes, switch the page table */
- if(Inv_Top!=0)
- {
- if(RME_CAP_GETOBJ(Inv_Top->Proc->Pgtbl,ptr_t)!=RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t))
- __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
- }
- else
- {
- if(RME_CAP_GETOBJ(Thd_Struct->Sched.Proc->Pgtbl,ptr_t)!=RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t))
- __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
- }
+ /* We are assuming that we are always invoking into a new process (why use synchronous
+ * invocation if you don't do so?). So we always switch page tables regardless */
+ __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
return 0;
}
@@ -685,17 +678,16 @@ ret_t _RME_Inv_Ret(struct RME_Reg_Struct* Reg, ptr_t Fault_Flag)
{
struct RME_Thd_Struct* Thd_Struct;
struct RME_Inv_Struct* Inv_Struct;
- struct RME_Inv_Struct* Inv_Top;
ptr_t Retval;
/* See if we can return; If we can, get the structure */
Thd_Struct=RME_Cur_Thd[RME_CPUID()];
Inv_Struct=RME_INVSTK_TOP(Thd_Struct);
- if(Inv_Struct==0)
+ if(RME_UNLIKELY(Inv_Struct==0))
return RME_ERR_SIV_EMPTY;
/* Is this return forced by a fault? If yes, check if we allow that */
- if((Fault_Flag!=0)&&(Inv_Struct->Fault_Ret_Flag==0))
+ if(RME_UNLIKELY((Fault_Flag!=0)&&(Inv_Struct->Fault_Ret_Flag==0)))
return RME_ERR_SIV_FAULT;
/* Pop it from the stack */
@@ -707,27 +699,21 @@ ret_t _RME_Inv_Ret(struct RME_Reg_Struct* Reg, ptr_t Fault_Flag)
* the return value of the invocation system call itself as well */
__RME_Inv_Reg_Restore(Reg, &(Inv_Struct->Ret));
__RME_Set_Inv_Retval(Reg, Retval);
+ /* We have successfully returned, set the invocation as inactive */
+ Inv_Struct->Active=0;
+
/* Decide the system call's return value */
- if(Fault_Flag!=0)
+ if(RME_UNLIKELY(Fault_Flag!=0))
__RME_Set_Syscall_Retval(Reg, RME_ERR_SIV_FAULT);
else
__RME_Set_Syscall_Retval(Reg, 0);
- /* Are we returning to a new process? If yes, switch the page table */
- Inv_Top=RME_INVSTK_TOP(Thd_Struct);
- if(Inv_Top!=0)
- {
- if(RME_CAP_GETOBJ(Inv_Top->Proc->Pgtbl,ptr_t)!=RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t))
- __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
- }
+ /* Same assumptions as in invocation activation */
+ Inv_Struct=RME_INVSTK_TOP(Thd_Struct);
+ if(Inv_Struct!=0)
+ __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
else
- {
- if(RME_CAP_GETOBJ(Thd_Struct->Sched.Proc->Pgtbl,ptr_t)!=RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t))
- __RME_Pgtbl_Set(RME_CAP_GETOBJ(Inv_Struct->Proc->Pgtbl,ptr_t));
- }
-
- /* We have successfully returned, set the invocation as inactive */
- Inv_Struct->Active=0;
+ __RME_Pgtbl_Set(RME_CAP_GETOBJ(Thd_Struct->Sched.Proc->Pgtbl,ptr_t));
return 0;
}
diff --git a/MEukaron/Platform/X64/platform_x64.c b/MEukaron/Platform/X64/platform_x64.c
index dcd689f..7b06127 100644
--- a/MEukaron/Platform/X64/platform_x64.c
+++ b/MEukaron/Platform/X64/platform_x64.c
@@ -1102,6 +1102,8 @@ ptr_t __RME_Pgtbl_Kmem_Init(void)
/* Now initialize the kernel object allocation table */
_RME_Kotbl_Init(RME_X64_Layout.Kotbl_Size/sizeof(ptr_t));
+ /* Reset PCID counter */
+ RME_X64_PCID_Inc=0;
/* And the page table registration table as well */
Pgreg=(struct __RME_X64_Pgreg*)RME_X64_Layout.Pgreg_Start;
@@ -1904,7 +1906,7 @@ Return : None.
******************************************************************************/
void __RME_Pgtbl_Set(ptr_t Pgtbl)
{
- __RME_X64_Pgtbl_Set(RME_X64_VA2PA(Pgtbl));
+ __RME_X64_Pgtbl_Set(RME_X64_VA2PA(Pgtbl)|RME_X64_PGREG_POS(Pgtbl).PCID);
}
/* End Function:__RME_Pgtbl_Set **********************************************/
@@ -1964,6 +1966,8 @@ ptr_t __RME_Pgtbl_Init(struct RME_Cap_Pgtbl* Pgtbl_Op)
{
for(;Count<512;Count++)
Ptr[Count]=RME_X64_Kpgt.PML4[Count-256];
+
+ RME_X64_PGREG_POS(Ptr).PCID=__RME_Fetch_Add(&RME_X64_PCID_Inc,1)&0xFFF;
}
else
{
@@ -1971,6 +1975,11 @@ ptr_t __RME_Pgtbl_Init(struct RME_Cap_Pgtbl* Pgtbl_Op)
Ptr[Count]=0;
}
+ /* Initialize its pgreg table to all zeros, except for the PCID, which
+ * always increases as we initializes a top-level */
+ RME_X64_PGREG_POS(Ptr).Parent_Cnt=0;
+ RME_X64_PGREG_POS(Ptr).Child_Cnt=0;
+
return 0;
}
/* End Function:__RME_Pgtbl_Init *********************************************/
diff --git a/MEukaron/Platform/X64/platform_x64_asm.S b/MEukaron/Platform/X64/platform_x64_asm.S
index 3f8d684..bfe00d4 100644
--- a/MEukaron/Platform/X64/platform_x64_asm.S
+++ b/MEukaron/Platform/X64/platform_x64_asm.S
@@ -243,6 +243,10 @@ __RME_X64_SMP_Boot_32:
MOV %CR0,%EAX
BTS $31,%EAX
MOV %EAX,%CR0
+ /* Enable PCID - CR4.PCIDE=1 FIXME: this made things slower - due to extra logic for PCID processing *//*
+ MOV %CR4,%EAX
+ BTS $17,%EAX
+ MOV %EAX,%CR4*/
/* shift to 64bit segment */
LJMP $8,$(Boot_Low_64-__RME_X64_Mboot_Header+__RME_X64_Mboot_Load_Addr)
diff --git a/Project/ECLIPSE-GCC-X64/RME/.cproject b/Project/ECLIPSE-GCC-X64/RME/.cproject
index 1d6bf00..44f6dbe 100644
--- a/Project/ECLIPSE-GCC-X64/RME/.cproject
+++ b/Project/ECLIPSE-GCC-X64/RME/.cproject
@@ -34,6 +34,10 @@
+
@@ -55,9 +59,6 @@
-
-
-
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/Kernel/subdir.mk b/Project/ECLIPSE-GCC-X64/RME/Debug/Kernel/subdir.mk
index 34f2098..ea69b26 100644
--- a/Project/ECLIPSE-GCC-X64/RME/Debug/Kernel/subdir.mk
+++ b/Project/ECLIPSE-GCC-X64/RME/Debug/Kernel/subdir.mk
@@ -32,42 +32,42 @@ C_DEPS += \
Kernel/captbl.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/captbl.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
Kernel/kernel.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/kernel.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
Kernel/kotbl.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/kotbl.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
Kernel/pgtbl.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/pgtbl.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
Kernel/prcthd.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/prcthd.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
Kernel/siginv.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Kernel/siginv.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/Platform/subdir.mk b/Project/ECLIPSE-GCC-X64/RME/Debug/Platform/subdir.mk
index 266a820..1a2a54d 100644
--- a/Project/ECLIPSE-GCC-X64/RME/Debug/Platform/subdir.mk
+++ b/Project/ECLIPSE-GCC-X64/RME/Debug/Platform/subdir.mk
@@ -21,7 +21,7 @@ C_DEPS += \
Platform/platform_x64.o: /media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/MEukaron/Platform/X64/platform_x64.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/RME b/Project/ECLIPSE-GCC-X64/RME/Debug/RME
index 6e25520..c1b4024 100644
Binary files a/Project/ECLIPSE-GCC-X64/RME/Debug/RME and b/Project/ECLIPSE-GCC-X64/RME/Debug/RME differ
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/RME.map b/Project/ECLIPSE-GCC-X64/RME/Debug/RME.map
index 3260435..6b2d048 100644
--- a/Project/ECLIPSE-GCC-X64/RME/Debug/RME.map
+++ b/Project/ECLIPSE-GCC-X64/RME/Debug/RME.map
@@ -29,7 +29,7 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Platform/platform_x64.o
.note.GNU-stack
0x0000000000000000 0x0 ./Platform/platform_x64.o
- .eh_frame 0x0000000000000000 0x508 ./Platform/platform_x64.o
+ .eh_frame 0x0000000000000000 0x528 ./Platform/platform_x64.o
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
@@ -50,9 +50,9 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
.group 0x0000000000000000 0x8 ./Kernel/captbl.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/captbl.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/captbl.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/captbl.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/captbl.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/captbl.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/captbl.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/captbl.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/captbl.o
@@ -68,7 +68,7 @@ Discarded input sections
.debug_macro 0x0000000000000000 0x2e ./Kernel/captbl.o
.note.GNU-stack
0x0000000000000000 0x0 ./Kernel/captbl.o
- .eh_frame 0x0000000000000000 0x248 ./Kernel/captbl.o
+ .eh_frame 0x0000000000000000 0x1d8 ./Kernel/captbl.o
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
@@ -96,15 +96,15 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
.group 0x0000000000000000 0x8 ./Kernel/kernel.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/kernel.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/kernel.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/kernel.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x580 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/kernel.o
- .debug_macro 0x0000000000000000 0xd7 ./Kernel/kernel.o
+ .debug_macro 0x0000000000000000 0xd8 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x58 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x28 ./Kernel/kernel.o
.debug_macro 0x0000000000000000 0x6a ./Kernel/kernel.o
@@ -124,7 +124,7 @@ Discarded input sections
.debug_macro 0x0000000000000000 0x2f ./Kernel/kernel.o
.note.GNU-stack
0x0000000000000000 0x0 ./Kernel/kernel.o
- .eh_frame 0x0000000000000000 0x318 ./Kernel/kernel.o
+ .eh_frame 0x0000000000000000 0x300 ./Kernel/kernel.o
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
@@ -141,9 +141,9 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
.group 0x0000000000000000 0x8 ./Kernel/kotbl.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/kotbl.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/kotbl.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/kotbl.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/kotbl.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/kotbl.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/kotbl.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/kotbl.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/kotbl.o
@@ -180,15 +180,15 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/pgtbl.o
.group 0x0000000000000000 0x8 ./Kernel/pgtbl.o
.group 0x0000000000000000 0x8 ./Kernel/pgtbl.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/pgtbl.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/pgtbl.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/pgtbl.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x580 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/pgtbl.o
- .debug_macro 0x0000000000000000 0xd7 ./Kernel/pgtbl.o
+ .debug_macro 0x0000000000000000 0xd8 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x28 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x58 ./Kernel/pgtbl.o
.debug_macro 0x0000000000000000 0x19 ./Kernel/pgtbl.o
@@ -202,7 +202,7 @@ Discarded input sections
.debug_macro 0x0000000000000000 0x2e ./Kernel/pgtbl.o
.note.GNU-stack
0x0000000000000000 0x0 ./Kernel/pgtbl.o
- .eh_frame 0x0000000000000000 0x368 ./Kernel/pgtbl.o
+ .eh_frame 0x0000000000000000 0x2e8 ./Kernel/pgtbl.o
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
@@ -230,15 +230,15 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
.group 0x0000000000000000 0x8 ./Kernel/prcthd.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/prcthd.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/prcthd.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/prcthd.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x580 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/prcthd.o
- .debug_macro 0x0000000000000000 0xd7 ./Kernel/prcthd.o
+ .debug_macro 0x0000000000000000 0xd8 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x58 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/prcthd.o
.debug_macro 0x0000000000000000 0x28 ./Kernel/prcthd.o
@@ -258,7 +258,7 @@ Discarded input sections
.debug_macro 0x0000000000000000 0x2f ./Kernel/prcthd.o
.note.GNU-stack
0x0000000000000000 0x0 ./Kernel/prcthd.o
- .eh_frame 0x0000000000000000 0x7e8 ./Kernel/prcthd.o
+ .eh_frame 0x0000000000000000 0x678 ./Kernel/prcthd.o
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
@@ -286,15 +286,15 @@ Discarded input sections
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
.group 0x0000000000000000 0x8 ./Kernel/siginv.o
- .debug_macro 0x0000000000000000 0x59e ./Kernel/siginv.o
+ .debug_macro 0x0000000000000000 0x5aa ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0xd2 ./Kernel/siginv.o
- .debug_macro 0x0000000000000000 0xb8 ./Kernel/siginv.o
+ .debug_macro 0x0000000000000000 0xc9 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x567 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x10c ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x580 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x22 ./Kernel/siginv.o
- .debug_macro 0x0000000000000000 0xd7 ./Kernel/siginv.o
+ .debug_macro 0x0000000000000000 0xd8 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x58 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x28 ./Kernel/siginv.o
.debug_macro 0x0000000000000000 0x6a ./Kernel/siginv.o
@@ -314,9 +314,9 @@ Discarded input sections
.debug_macro 0x0000000000000000 0x35 ./Kernel/siginv.o
.note.GNU-stack
0x0000000000000000 0x0 ./Kernel/siginv.o
- .eh_frame 0x0000000000000000 0x378 ./Kernel/siginv.o
+ .eh_frame 0x0000000000000000 0x2c8 ./Kernel/siginv.o
.group 0x0000000000000000 0x8 ./UVM.o
- .debug_macro 0x0000000000000000 0x59e ./UVM.o
+ .debug_macro 0x0000000000000000 0x5aa ./UVM.o
.note.GNU-stack
0x0000000000000000 0x0 ./UVM.o
@@ -331,7 +331,7 @@ Linker script and memory map
0xffffffff80100000 . = 0xffffffff80100000
0xffffffff80100000 PROVIDE (begin, .)
-.text 0xffffffff80100000 0x11e18d load address 0x0000000000100000
+.text 0xffffffff80100000 0x11e150 load address 0x0000000000100000
*platform_x64_asm.o(.text .rela.text .stub .text.* .gnu.linkonce.t.*)
.text 0xffffffff80100000 0x10c7a2 ./Platform/platform_x64_asm.o
0xffffffff80100000 __RME_X64_Mboot_Header
@@ -608,196 +608,194 @@ Linker script and memory map
0xffffffff8020c6fa SVC_Handler
*(.text .rela.text .stub .text.* .gnu.linkonce.t.*)
*fill* 0xffffffff8020c7a2 0xe
- .text 0xffffffff8020c7b0 0x80dc ./Platform/platform_x64.o
+ .text 0xffffffff8020c7b0 0x818c ./Platform/platform_x64.o
0xffffffff80211310 __RME_Putchar
0xffffffff80211350 __RME_X64_LAPIC_Ack
0xffffffff80211370 __RME_X64_SMP_Init
0xffffffff80211550 __RME_X64_SMP_Tick
0xffffffff80211590 __RME_Low_Level_Init
0xffffffff80211f70 __RME_Pgtbl_Kmem_Init
- 0xffffffff80212830 __RME_SMP_Low_Level_Init
- 0xffffffff80212930 __RME_Boot
- 0xffffffff80213c30 __RME_Reboot
- 0xffffffff80213ca0 __RME_Shutdown
- 0xffffffff80213d10 __RME_Get_Syscall_Param
- 0xffffffff80213d40 __RME_Set_Syscall_Retval
- 0xffffffff80213d50 __RME_Get_Inv_Retval
- 0xffffffff80213d60 __RME_Set_Inv_Retval
- 0xffffffff80213d70 __RME_Thd_Reg_Init
- 0xffffffff80213dc0 __RME_Thd_Reg_Copy
- 0xffffffff80213ea0 __RME_Thd_Cop_Init
- 0xffffffff80213eb0 __RME_Thd_Cop_Save
- 0xffffffff80213ec0 __RME_Thd_Cop_Restore
- 0xffffffff80213ed0 __RME_Inv_Reg_Init
- 0xffffffff80213ee0 __RME_Inv_Reg_Save
- 0xffffffff80213f00 __RME_Inv_Reg_Restore
- 0xffffffff80213f20 __RME_Kern_Func_Handler
- 0xffffffff80213f30 __RME_X64_Fault_Handler
- 0xffffffff802142c0 __RME_X64_Generic_Handler
- 0xffffffff802142e0 __RME_Pgtbl_Set
- 0xffffffff80214300 __RME_Pgtbl_Check
- 0xffffffff80214350 __RME_Pgtbl_Init
- 0xffffffff802143d0 __RME_Pgtbl_Del_Check
- 0xffffffff80214420 __RME_Pgtbl_Page_Map
- 0xffffffff802144c0 __RME_Pgtbl_Page_Unmap
- 0xffffffff80214520 __RME_Pgtbl_Pgdir_Map
- 0xffffffff80214600 __RME_Pgtbl_Pgdir_Unmap
- 0xffffffff802146b0 __RME_Pgtbl_Lookup
- 0xffffffff80214760 __RME_Pgtbl_Walk
+ 0xffffffff80212840 __RME_SMP_Low_Level_Init
+ 0xffffffff80212950 __RME_Boot
+ 0xffffffff80213c60 __RME_Reboot
+ 0xffffffff80213cd0 __RME_Shutdown
+ 0xffffffff80213d40 __RME_Get_Syscall_Param
+ 0xffffffff80213d70 __RME_Set_Syscall_Retval
+ 0xffffffff80213d80 __RME_Get_Inv_Retval
+ 0xffffffff80213d90 __RME_Set_Inv_Retval
+ 0xffffffff80213da0 __RME_Thd_Reg_Init
+ 0xffffffff80213df0 __RME_Thd_Reg_Copy
+ 0xffffffff80213ed0 __RME_Thd_Cop_Init
+ 0xffffffff80213ee0 __RME_Thd_Cop_Save
+ 0xffffffff80213ef0 __RME_Thd_Cop_Restore
+ 0xffffffff80213f00 __RME_Inv_Reg_Init
+ 0xffffffff80213f10 __RME_Inv_Reg_Save
+ 0xffffffff80213f30 __RME_Inv_Reg_Restore
+ 0xffffffff80213f50 __RME_Kern_Func_Handler
+ 0xffffffff80213f60 __RME_X64_Fault_Handler
+ 0xffffffff802142f0 __RME_X64_Generic_Handler
+ 0xffffffff80214310 __RME_Pgtbl_Set
+ 0xffffffff80214340 __RME_Pgtbl_Check
+ 0xffffffff80214390 __RME_Pgtbl_Init
+ 0xffffffff80214480 __RME_Pgtbl_Del_Check
+ 0xffffffff802144d0 __RME_Pgtbl_Page_Map
+ 0xffffffff80214570 __RME_Pgtbl_Page_Unmap
+ 0xffffffff802145d0 __RME_Pgtbl_Pgdir_Map
+ 0xffffffff802146b0 __RME_Pgtbl_Pgdir_Unmap
+ 0xffffffff80214760 __RME_Pgtbl_Lookup
+ 0xffffffff80214810 __RME_Pgtbl_Walk
.text.unlikely
- 0xffffffff8021488c 0x0 ./Platform/platform_x64.o
- *fill* 0xffffffff8021488c 0x4
- .text.startup 0xffffffff80214890 0x2b ./Platform/platform_x64.o
- 0xffffffff80214890 main
- .rela.text 0xffffffff802148bb 0x0 ./Platform/platform_x64.o
- *fill* 0xffffffff802148bb 0x5
- .text 0xffffffff802148c0 0xfac ./Kernel/captbl.o
- 0xffffffff802148c0 _RME_Captbl_Boot_Init
- 0xffffffff80214970 _RME_Captbl_Boot_Crt
- 0xffffffff80214b40 _RME_Captbl_Crt
- 0xffffffff80214e00 _RME_Captbl_Del
- 0xffffffff802150e0 _RME_Captbl_Frz
- 0xffffffff80215270 _RME_Captbl_Add
- 0xffffffff802156a0 _RME_Captbl_Rem
+ 0xffffffff8021493c 0x0 ./Platform/platform_x64.o
+ *fill* 0xffffffff8021493c 0x4
+ .text.startup 0xffffffff80214940 0x2b ./Platform/platform_x64.o
+ 0xffffffff80214940 main
+ .rela.text 0xffffffff8021496b 0x0 ./Platform/platform_x64.o
+ *fill* 0xffffffff8021496b 0x5
+ .text 0xffffffff80214970 0xfc0 ./Kernel/captbl.o
+ 0xffffffff80214970 _RME_Captbl_Boot_Init
+ 0xffffffff80214a20 _RME_Captbl_Boot_Crt
+ 0xffffffff80214c10 _RME_Captbl_Crt
+ 0xffffffff80214ed0 _RME_Captbl_Del
+ 0xffffffff80215190 _RME_Captbl_Frz
+ 0xffffffff80215320 _RME_Captbl_Add
+ 0xffffffff80215760 _RME_Captbl_Rem
.text.unlikely
- 0xffffffff8021586c 0x0 ./Kernel/captbl.o
- *fill* 0xffffffff8021586c 0x4
- .text 0xffffffff80215870 0x16e6 ./Kernel/kernel.o
- 0xffffffff80215870 _RME_Clear
- 0xffffffff80215aa0 _RME_Memcmp
- 0xffffffff80215af0 _RME_Memcpy
- 0xffffffff80215d40 _RME_Timestamp_Inc
- 0xffffffff80215f10 _RME_Kern_Boot_Crt
- 0xffffffff80216080 _RME_Kern_Act
- 0xffffffff80216180 _RME_Kmem_Boot_Crt
- 0xffffffff802164c0 _RME_Svc_Handler
- 0xffffffff80216a00 _RME_Tick_SMP_Handler
- 0xffffffff80216c70 _RME_Tick_Handler
- 0xffffffff80216c80 RME_Kmain
- 0xffffffff80216ce0 RME_Print_Int
- 0xffffffff80216e60 RME_Print_Uint
- 0xffffffff80216f20 RME_Print_String
+ 0xffffffff80215930 0x0 ./Kernel/captbl.o
+ .text 0xffffffff80215930 0x16f6 ./Kernel/kernel.o
+ 0xffffffff80215930 _RME_Clear
+ 0xffffffff80215b60 _RME_Memcmp
+ 0xffffffff80215bb0 _RME_Memcpy
+ 0xffffffff80215e00 _RME_Timestamp_Inc
+ 0xffffffff80215fe0 _RME_Kern_Boot_Crt
+ 0xffffffff80216150 _RME_Kern_Act
+ 0xffffffff80216250 _RME_Kmem_Boot_Crt
+ 0xffffffff80216580 _RME_Svc_Handler
+ 0xffffffff80216ad0 _RME_Tick_SMP_Handler
+ 0xffffffff80216d40 _RME_Tick_Handler
+ 0xffffffff80216d50 RME_Kmain
+ 0xffffffff80216db0 RME_Print_Int
+ 0xffffffff80216f30 RME_Print_Uint
+ 0xffffffff80216ff0 RME_Print_String
.text.unlikely
- 0xffffffff80216f56 0x0 ./Kernel/kernel.o
- *fill* 0xffffffff80216f56 0xa
- .text 0xffffffff80216f60 0x435 ./Kernel/kotbl.o
- 0xffffffff80216f60 _RME_Kotbl_Init
- 0xffffffff80216fa0 _RME_Kotbl_Mark
- 0xffffffff802171d0 _RME_Kotbl_Erase
+ 0xffffffff80217026 0x0 ./Kernel/kernel.o
+ *fill* 0xffffffff80217026 0xa
+ .text 0xffffffff80217030 0x435 ./Kernel/kotbl.o
+ 0xffffffff80217030 _RME_Kotbl_Init
+ 0xffffffff80217070 _RME_Kotbl_Mark
+ 0xffffffff802172a0 _RME_Kotbl_Erase
.text.unlikely
- 0xffffffff80217395 0x0 ./Kernel/kotbl.o
- *fill* 0xffffffff80217395 0xb
- .text 0xffffffff802173a0 0x16b8 ./Kernel/pgtbl.o
- 0xffffffff802173a0 _RME_Pgtbl_Boot_Crt
- 0xffffffff80217780 _RME_Pgtbl_Boot_Con
- 0xffffffff80217980 _RME_Pgtbl_Boot_Add
- 0xffffffff80217ad0 _RME_Pgtbl_Crt
- 0xffffffff80217f60 _RME_Pgtbl_Del
- 0xffffffff80218240 _RME_Pgtbl_Add
- 0xffffffff80218570 _RME_Pgtbl_Rem
- 0xffffffff802186c0 _RME_Pgtbl_Con
- 0xffffffff80218910 _RME_Pgtbl_Des
+ 0xffffffff80217465 0x0 ./Kernel/kotbl.o
+ *fill* 0xffffffff80217465 0xb
+ .text 0xffffffff80217470 0x16ad ./Kernel/pgtbl.o
+ 0xffffffff80217470 _RME_Pgtbl_Boot_Crt
+ 0xffffffff80217870 _RME_Pgtbl_Boot_Con
+ 0xffffffff80217a60 _RME_Pgtbl_Boot_Add
+ 0xffffffff80217bc0 _RME_Pgtbl_Crt
+ 0xffffffff80218090 _RME_Pgtbl_Del
+ 0xffffffff80218350 _RME_Pgtbl_Add
+ 0xffffffff80218650 _RME_Pgtbl_Rem
+ 0xffffffff802187a0 _RME_Pgtbl_Con
+ 0xffffffff802189d0 _RME_Pgtbl_Des
.text.unlikely
- 0xffffffff80218a58 0x0 ./Kernel/pgtbl.o
- *fill* 0xffffffff80218a58 0x8
- .text 0xffffffff80218a60 0x40a1 ./Kernel/prcthd.o
- 0xffffffff80218a60 __RME_List_Crt
- 0xffffffff80218a70 __RME_List_Del
- 0xffffffff80218a80 __RME_List_Ins
- 0xffffffff80218a90 __RME_Thd_Fatal
- 0xffffffff80218d70 _RME_Run_Ins
- 0xffffffff80218de0 _RME_Run_Del
- 0xffffffff80218e50 _RME_Run_High
- 0xffffffff80218ef0 _RME_Run_Notif
- 0xffffffff80218f20 _RME_Run_Swt
- 0xffffffff80219010 _RME_Prcthd_Init
- 0xffffffff80219090 _RME_Proc_Boot_Crt
- 0xffffffff802195a0 _RME_Proc_Crt
- 0xffffffff80219b00 _RME_Proc_Del
- 0xffffffff80219dc0 _RME_Proc_Cpt
- 0xffffffff8021a050 _RME_Proc_Pgt
- 0xffffffff8021a2e0 _RME_Thd_Boot_Crt
- 0xffffffff8021a690 _RME_Thd_Crt
- 0xffffffff8021aae0 _RME_Thd_Del
- 0xffffffff8021adb0 _RME_Thd_Exec_Set
- 0xffffffff8021af50 _RME_Thd_Hyp_Set
- 0xffffffff8021b080 _RME_Thd_Sched_Bind
- 0xffffffff8021b300 _RME_Thd_Sched_Prio
- 0xffffffff8021b710 _RME_Thd_Sched_Free
- 0xffffffff8021bb80 _RME_Thd_Sched_Rcv
- 0xffffffff8021bcf0 _RME_Thd_Time_Xfer
- 0xffffffff8021c460 _RME_Thd_Swt
+ 0xffffffff80218b1d 0x0 ./Kernel/pgtbl.o
+ *fill* 0xffffffff80218b1d 0x3
+ .text 0xffffffff80218b20 0x4030 ./Kernel/prcthd.o
+ 0xffffffff80218b20 __RME_List_Crt
+ 0xffffffff80218b30 __RME_List_Del
+ 0xffffffff80218b40 __RME_List_Ins
+ 0xffffffff80218b50 __RME_Thd_Fatal
+ 0xffffffff80218e60 _RME_Run_Ins
+ 0xffffffff80218ed0 _RME_Run_Del
+ 0xffffffff80218f40 _RME_Run_High
+ 0xffffffff80218fe0 _RME_Run_Notif
+ 0xffffffff80219010 _RME_Run_Swt
+ 0xffffffff80219100 _RME_Prcthd_Init
+ 0xffffffff80219180 _RME_Proc_Boot_Crt
+ 0xffffffff80219630 _RME_Proc_Crt
+ 0xffffffff80219b90 _RME_Proc_Del
+ 0xffffffff80219e40 _RME_Proc_Cpt
+ 0xffffffff8021a0a0 _RME_Proc_Pgt
+ 0xffffffff8021a300 _RME_Thd_Boot_Crt
+ 0xffffffff8021a6b0 _RME_Thd_Crt
+ 0xffffffff8021ab00 _RME_Thd_Del
+ 0xffffffff8021ae00 _RME_Thd_Exec_Set
+ 0xffffffff8021af90 _RME_Thd_Hyp_Set
+ 0xffffffff8021b0d0 _RME_Thd_Sched_Bind
+ 0xffffffff8021b330 _RME_Thd_Sched_Prio
+ 0xffffffff8021b740 _RME_Thd_Sched_Free
+ 0xffffffff8021bba0 _RME_Thd_Sched_Rcv
+ 0xffffffff8021bd10 _RME_Thd_Time_Xfer
+ 0xffffffff8021c480 _RME_Thd_Swt
.text.unlikely
- 0xffffffff8021cb01 0x0 ./Kernel/prcthd.o
- *fill* 0xffffffff8021cb01 0xf
- .text 0xffffffff8021cb10 0x167d ./Kernel/siginv.o
- 0xffffffff8021cb10 _RME_Sig_Boot_Crt
- 0xffffffff8021ccb0 _RME_Sig_Crt
- 0xffffffff8021cf30 _RME_Sig_Del
- 0xffffffff8021d210 _RME_Kern_Snd
- 0xffffffff8021d320 _RME_Sig_Snd
- 0xffffffff8021d520 _RME_Sig_Rcv
- 0xffffffff8021d720 _RME_Inv_Crt
- 0xffffffff8021da80 _RME_Inv_Del
- 0xffffffff8021dd30 _RME_Inv_Set
- 0xffffffff8021de30 _RME_Inv_Act
- 0xffffffff8021e040 _RME_Inv_Ret
+ 0xffffffff8021cb50 0x0 ./Kernel/prcthd.o
+ .text 0xffffffff8021cb50 0x1600 ./Kernel/siginv.o
+ 0xffffffff8021cb50 _RME_Sig_Boot_Crt
+ 0xffffffff8021cd00 _RME_Sig_Crt
+ 0xffffffff8021cf70 _RME_Sig_Del
+ 0xffffffff8021d230 _RME_Kern_Snd
+ 0xffffffff8021d340 _RME_Sig_Snd
+ 0xffffffff8021d530 _RME_Sig_Rcv
+ 0xffffffff8021d740 _RME_Inv_Crt
+ 0xffffffff8021dac0 _RME_Inv_Del
+ 0xffffffff8021dd60 _RME_Inv_Set
+ 0xffffffff8021de60 _RME_Inv_Act
+ 0xffffffff8021e010 _RME_Inv_Ret
.text.unlikely
- 0xffffffff8021e18d 0x0 ./Kernel/siginv.o
- .text 0xffffffff8021e18d 0x0 ./UVM.o
+ 0xffffffff8021e150 0x0 ./Kernel/siginv.o
+ .text 0xffffffff8021e150 0x0 ./UVM.o
[!provide] PROVIDE (etext, .)
-.iplt 0xffffffff8021e190 0x0 load address 0x000000000021e190
- .iplt 0xffffffff8021e190 0x0 ./Platform/platform_x64.o
+.iplt 0xffffffff8021e150 0x0 load address 0x000000000021e150
+ .iplt 0xffffffff8021e150 0x0 ./Platform/platform_x64.o
-.rodata 0xffffffff8021e1a0 0x1ef8 load address 0x000000000021e1a0
+.rodata 0xffffffff8021e160 0x22c8 load address 0x000000000021e160
*(.rodata .rodata.* .gnu.linkonce.r.*)
.rodata.str1.8
- 0xffffffff8021e1a0 0x270 ./Platform/platform_x64.o
+ 0xffffffff8021e160 0x270 ./Platform/platform_x64.o
.rodata.str1.1
- 0xffffffff8021e410 0x6d4 ./Platform/platform_x64.o
+ 0xffffffff8021e3d0 0x6d4 ./Platform/platform_x64.o
0x6dc (size before relaxing)
- *fill* 0xffffffff8021eae4 0x1c
- .rodata 0xffffffff8021eb00 0x2c0 ./Platform/platform_x64.o
+ *fill* 0xffffffff8021eaa4 0x1c
+ .rodata 0xffffffff8021eac0 0x2c0 ./Platform/platform_x64.o
.rodata.str1.8
- 0xffffffff8021edc0 0x51 ./Kernel/captbl.o
+ 0xffffffff8021ed80 0x51 ./Kernel/captbl.o
0x79 (size before relaxing)
.rodata.str1.1
- 0xffffffff8021ee11 0x9 ./Kernel/captbl.o
+ 0xffffffff8021edd1 0x9 ./Kernel/captbl.o
0x25 (size before relaxing)
- *fill* 0xffffffff8021ee1a 0x6
+ *fill* 0xffffffff8021edda 0x6
.rodata.str1.8
- 0xffffffff8021ee20 0x51 ./Kernel/kernel.o
+ 0xffffffff8021ede0 0x51 ./Kernel/kernel.o
0x79 (size before relaxing)
.rodata.str1.1
- 0xffffffff8021ee71 0x25 ./Kernel/kernel.o
- *fill* 0xffffffff8021ee71 0x7
- .rodata 0xffffffff8021ee78 0x118 ./Kernel/kernel.o
+ 0xffffffff8021ee31 0x25 ./Kernel/kernel.o
+ *fill* 0xffffffff8021ee31 0x7
+ .rodata 0xffffffff8021ee38 0x118 ./Kernel/kernel.o
.rodata.str1.8
- 0xffffffff8021ef90 0x50 ./Kernel/pgtbl.o
+ 0xffffffff8021ef50 0x50 ./Kernel/pgtbl.o
0x78 (size before relaxing)
.rodata.str1.1
- 0xffffffff8021efe0 0x9 ./Kernel/pgtbl.o
- 0x25 (size before relaxing)
- *fill* 0xffffffff8021efe9 0x7
+ 0xffffffff8021efa0 0x25 ./Kernel/pgtbl.o
.rodata.str1.8
- 0xffffffff8021eff0 0x51 ./Kernel/prcthd.o
+ 0xffffffff8021efa0 0x51 ./Kernel/prcthd.o
0x79 (size before relaxing)
.rodata.str1.1
- 0xffffffff8021f041 0x25 ./Kernel/prcthd.o
- *fill* 0xffffffff8021f041 0x7
+ 0xffffffff8021eff1 0x9 ./Kernel/prcthd.o
+ 0x25 (size before relaxing)
+ *fill* 0xffffffff8021effa 0x6
.rodata.str1.8
- 0xffffffff8021f048 0x58 ./Kernel/siginv.o
+ 0xffffffff8021f000 0x58 ./Kernel/siginv.o
0x79 (size before relaxing)
.rodata.str1.1
- 0xffffffff8021f0a0 0x25 ./Kernel/siginv.o
- .rodata 0xffffffff8021f0a0 0xff8 ./UVM.o
- 0xffffffff8021f0a0 UVM_Init
+ 0xffffffff8021f058 0x25 ./Kernel/siginv.o
+ *fill* 0xffffffff8021f058 0x8
+ .rodata 0xffffffff8021f060 0x13c8 ./UVM.o
+ 0xffffffff8021f060 UVM_Init
-.rela.dyn 0xffffffff80220098 0x0 load address 0x0000000000220098
- .rela.iplt 0xffffffff80220098 0x0 ./Platform/platform_x64.o
+.rela.dyn 0xffffffff80220428 0x0 load address 0x0000000000220428
+ .rela.iplt 0xffffffff80220428 0x0 ./Platform/platform_x64.o
.rela.text.startup
- 0xffffffff80220098 0x0 ./Platform/platform_x64.o
+ 0xffffffff80220428 0x0 ./Platform/platform_x64.o
0xffffffff80221000 . = ALIGN (0x1000)
[!provide] PROVIDE (data, .)
@@ -868,34 +866,34 @@ LOAD ./Kernel/siginv.o
LOAD ./UVM.o
OUTPUT(RME elf64-x86-64)
-.debug_info 0x0000000000000000 0xfb0a
- .debug_info 0x0000000000000000 0x6709 ./Platform/platform_x64.o
- .debug_info 0x0000000000006709 0x9ad ./Kernel/captbl.o
- .debug_info 0x00000000000070b6 0x1e52 ./Kernel/kernel.o
- .debug_info 0x0000000000008f08 0x3d0 ./Kernel/kotbl.o
- .debug_info 0x00000000000092d8 0x10e9 ./Kernel/pgtbl.o
- .debug_info 0x000000000000a3c1 0x3e7c ./Kernel/prcthd.o
- .debug_info 0x000000000000e23d 0x186d ./Kernel/siginv.o
- .debug_info 0x000000000000faaa 0x60 ./UVM.o
+.debug_info 0x0000000000000000 0xfaf4
+ .debug_info 0x0000000000000000 0x6723 ./Platform/platform_x64.o
+ .debug_info 0x0000000000006723 0x9ad ./Kernel/captbl.o
+ .debug_info 0x00000000000070d0 0x1e61 ./Kernel/kernel.o
+ .debug_info 0x0000000000008f31 0x3d0 ./Kernel/kotbl.o
+ .debug_info 0x0000000000009301 0x1101 ./Kernel/pgtbl.o
+ .debug_info 0x000000000000a402 0x3e8e ./Kernel/prcthd.o
+ .debug_info 0x000000000000e290 0x1804 ./Kernel/siginv.o
+ .debug_info 0x000000000000fa94 0x60 ./UVM.o
-.debug_abbrev 0x0000000000000000 0x12b2
- .debug_abbrev 0x0000000000000000 0x4cb ./Platform/platform_x64.o
- .debug_abbrev 0x00000000000004cb 0x1bd ./Kernel/captbl.o
- .debug_abbrev 0x0000000000000688 0x3bd ./Kernel/kernel.o
- .debug_abbrev 0x0000000000000a45 0x100 ./Kernel/kotbl.o
- .debug_abbrev 0x0000000000000b45 0x1db ./Kernel/pgtbl.o
- .debug_abbrev 0x0000000000000d20 0x32c ./Kernel/prcthd.o
- .debug_abbrev 0x000000000000104c 0x21e ./Kernel/siginv.o
- .debug_abbrev 0x000000000000126a 0x48 ./UVM.o
+.debug_abbrev 0x0000000000000000 0x12c0
+ .debug_abbrev 0x0000000000000000 0x4d9 ./Platform/platform_x64.o
+ .debug_abbrev 0x00000000000004d9 0x1bd ./Kernel/captbl.o
+ .debug_abbrev 0x0000000000000696 0x3bd ./Kernel/kernel.o
+ .debug_abbrev 0x0000000000000a53 0x100 ./Kernel/kotbl.o
+ .debug_abbrev 0x0000000000000b53 0x1db ./Kernel/pgtbl.o
+ .debug_abbrev 0x0000000000000d2e 0x32c ./Kernel/prcthd.o
+ .debug_abbrev 0x000000000000105a 0x21e ./Kernel/siginv.o
+ .debug_abbrev 0x0000000000001278 0x48 ./UVM.o
-.debug_loc 0x0000000000000000 0x1018f
- .debug_loc 0x0000000000000000 0x2186 ./Platform/platform_x64.o
- .debug_loc 0x0000000000002186 0x14f5 ./Kernel/captbl.o
- .debug_loc 0x000000000000367b 0x2981 ./Kernel/kernel.o
- .debug_loc 0x0000000000005ffc 0x9c8 ./Kernel/kotbl.o
- .debug_loc 0x00000000000069c4 0x1f44 ./Kernel/pgtbl.o
- .debug_loc 0x0000000000008908 0x5bca ./Kernel/prcthd.o
- .debug_loc 0x000000000000e4d2 0x1cbd ./Kernel/siginv.o
+.debug_loc 0x0000000000000000 0xf45d
+ .debug_loc 0x0000000000000000 0x2214 ./Platform/platform_x64.o
+ .debug_loc 0x0000000000002214 0x125c ./Kernel/captbl.o
+ .debug_loc 0x0000000000003470 0x28df ./Kernel/kernel.o
+ .debug_loc 0x0000000000005d4f 0x9c8 ./Kernel/kotbl.o
+ .debug_loc 0x0000000000006717 0x1e43 ./Kernel/pgtbl.o
+ .debug_loc 0x000000000000855a 0x55b7 ./Kernel/prcthd.o
+ .debug_loc 0x000000000000db11 0x194c ./Kernel/siginv.o
.debug_aranges 0x0000000000000000 0x180
.debug_aranges
@@ -915,83 +913,83 @@ OUTPUT(RME elf64-x86-64)
.debug_aranges
0x0000000000000160 0x20 ./UVM.o
-.debug_ranges 0x0000000000000000 0x8f0
- .debug_ranges 0x0000000000000000 0x220 ./Platform/platform_x64.o
- .debug_ranges 0x0000000000000220 0x60 ./Kernel/kernel.o
- .debug_ranges 0x0000000000000280 0x670 ./Kernel/prcthd.o
+.debug_ranges 0x0000000000000000 0x8e0
+ .debug_ranges 0x0000000000000000 0x240 ./Platform/platform_x64.o
+ .debug_ranges 0x0000000000000240 0x60 ./Kernel/kernel.o
+ .debug_ranges 0x00000000000002a0 0x640 ./Kernel/prcthd.o
-.debug_macro 0x0000000000000000 0x20b1
- .debug_macro 0x0000000000000000 0x112 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000112 0x59e ./Platform/platform_x64.o
- .debug_macro 0x00000000000006b0 0x10c ./Platform/platform_x64.o
- .debug_macro 0x00000000000007bc 0x580 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000d3c 0x22 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000d5e 0x28 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000d86 0xd7 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000e5d 0x58 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000eb5 0x6a ./Platform/platform_x64.o
- .debug_macro 0x0000000000000f1f 0x22 ./Platform/platform_x64.o
- .debug_macro 0x0000000000000f41 0xd2 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001013 0xb8 ./Platform/platform_x64.o
- .debug_macro 0x00000000000010cb 0x22 ./Platform/platform_x64.o
- .debug_macro 0x00000000000010ed 0x567 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001654 0x19 ./Platform/platform_x64.o
- .debug_macro 0x000000000000166d 0x19 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001686 0x19 ./Platform/platform_x64.o
- .debug_macro 0x000000000000169f 0x16 ./Platform/platform_x64.o
- .debug_macro 0x00000000000016b5 0x16 ./Platform/platform_x64.o
- .debug_macro 0x00000000000016cb 0x16 ./Platform/platform_x64.o
- .debug_macro 0x00000000000016e1 0x35 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001716 0x35 ./Platform/platform_x64.o
- .debug_macro 0x000000000000174b 0x35 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001780 0x2f ./Platform/platform_x64.o
- .debug_macro 0x00000000000017af 0x2e ./Platform/platform_x64.o
- .debug_macro 0x00000000000017dd 0x35 ./Platform/platform_x64.o
- .debug_macro 0x0000000000001812 0x2f ./Platform/platform_x64.o
- .debug_macro 0x0000000000001841 0xe8 ./Kernel/captbl.o
- .debug_macro 0x0000000000001929 0xd7 ./Kernel/captbl.o
- .debug_macro 0x0000000000001a00 0x16 ./Kernel/captbl.o
- .debug_macro 0x0000000000001a16 0x35 ./Kernel/captbl.o
- .debug_macro 0x0000000000001a4b 0x35 ./Kernel/captbl.o
- .debug_macro 0x0000000000001a80 0x127 ./Kernel/kernel.o
- .debug_macro 0x0000000000001ba7 0x35 ./Kernel/kernel.o
- .debug_macro 0x0000000000001bdc 0xc4 ./Kernel/kotbl.o
- .debug_macro 0x0000000000001ca0 0x2e ./Kernel/kotbl.o
- .debug_macro 0x0000000000001cce 0xf1 ./Kernel/pgtbl.o
- .debug_macro 0x0000000000001dbf 0x2f ./Kernel/pgtbl.o
- .debug_macro 0x0000000000001dee 0x127 ./Kernel/prcthd.o
- .debug_macro 0x0000000000001f15 0x35 ./Kernel/prcthd.o
- .debug_macro 0x0000000000001f4a 0x127 ./Kernel/siginv.o
- .debug_macro 0x0000000000002071 0x2f ./Kernel/siginv.o
- .debug_macro 0x00000000000020a0 0x11 ./UVM.o
+.debug_macro 0x0000000000000000 0x20d7
+ .debug_macro 0x0000000000000000 0x113 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000113 0x5aa ./Platform/platform_x64.o
+ .debug_macro 0x00000000000006bd 0x10c ./Platform/platform_x64.o
+ .debug_macro 0x00000000000007c9 0x580 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000d49 0x22 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000d6b 0x28 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000d93 0xd8 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000e6b 0x58 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000ec3 0x6a ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000f2d 0x22 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000000f4f 0xd2 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001021 0xc9 ./Platform/platform_x64.o
+ .debug_macro 0x00000000000010ea 0x22 ./Platform/platform_x64.o
+ .debug_macro 0x000000000000110c 0x567 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001673 0x19 ./Platform/platform_x64.o
+ .debug_macro 0x000000000000168c 0x19 ./Platform/platform_x64.o
+ .debug_macro 0x00000000000016a5 0x19 ./Platform/platform_x64.o
+ .debug_macro 0x00000000000016be 0x16 ./Platform/platform_x64.o
+ .debug_macro 0x00000000000016d4 0x16 ./Platform/platform_x64.o
+ .debug_macro 0x00000000000016ea 0x16 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001700 0x35 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001735 0x35 ./Platform/platform_x64.o
+ .debug_macro 0x000000000000176a 0x35 ./Platform/platform_x64.o
+ .debug_macro 0x000000000000179f 0x2f ./Platform/platform_x64.o
+ .debug_macro 0x00000000000017ce 0x2e ./Platform/platform_x64.o
+ .debug_macro 0x00000000000017fc 0x35 ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001831 0x2f ./Platform/platform_x64.o
+ .debug_macro 0x0000000000001860 0xe9 ./Kernel/captbl.o
+ .debug_macro 0x0000000000001949 0xd8 ./Kernel/captbl.o
+ .debug_macro 0x0000000000001a21 0x16 ./Kernel/captbl.o
+ .debug_macro 0x0000000000001a37 0x35 ./Kernel/captbl.o
+ .debug_macro 0x0000000000001a6c 0x35 ./Kernel/captbl.o
+ .debug_macro 0x0000000000001aa1 0x128 ./Kernel/kernel.o
+ .debug_macro 0x0000000000001bc9 0x35 ./Kernel/kernel.o
+ .debug_macro 0x0000000000001bfe 0xc5 ./Kernel/kotbl.o
+ .debug_macro 0x0000000000001cc3 0x2e ./Kernel/kotbl.o
+ .debug_macro 0x0000000000001cf1 0xf2 ./Kernel/pgtbl.o
+ .debug_macro 0x0000000000001de3 0x2f ./Kernel/pgtbl.o
+ .debug_macro 0x0000000000001e12 0x128 ./Kernel/prcthd.o
+ .debug_macro 0x0000000000001f3a 0x35 ./Kernel/prcthd.o
+ .debug_macro 0x0000000000001f6f 0x128 ./Kernel/siginv.o
+ .debug_macro 0x0000000000002097 0x2f ./Kernel/siginv.o
+ .debug_macro 0x00000000000020c6 0x11 ./UVM.o
-.debug_line 0x0000000000000000 0x4da3
- .debug_line 0x0000000000000000 0x1383 ./Platform/platform_x64.o
- .debug_line 0x0000000000001383 0x7d5 ./Kernel/captbl.o
- .debug_line 0x0000000000001b58 0x77f ./Kernel/kernel.o
- .debug_line 0x00000000000022d7 0x48e ./Kernel/kotbl.o
- .debug_line 0x0000000000002765 0x971 ./Kernel/pgtbl.o
- .debug_line 0x00000000000030d6 0x135b ./Kernel/prcthd.o
- .debug_line 0x0000000000004431 0x949 ./Kernel/siginv.o
- .debug_line 0x0000000000004d7a 0x29 ./UVM.o
+.debug_line 0x0000000000000000 0x5022
+ .debug_line 0x0000000000000000 0x138a ./Platform/platform_x64.o
+ .debug_line 0x000000000000138a 0x891 ./Kernel/captbl.o
+ .debug_line 0x0000000000001c1b 0x799 ./Kernel/kernel.o
+ .debug_line 0x00000000000023b4 0x48e ./Kernel/kotbl.o
+ .debug_line 0x0000000000002842 0x9b1 ./Kernel/pgtbl.o
+ .debug_line 0x00000000000031f3 0x1435 ./Kernel/prcthd.o
+ .debug_line 0x0000000000004628 0x9d1 ./Kernel/siginv.o
+ .debug_line 0x0000000000004ff9 0x29 ./UVM.o
-.debug_str 0x0000000000000000 0x921d
- .debug_str 0x0000000000000000 0x884d ./Platform/platform_x64.o
- 0x89b1 (size before relaxing)
- .debug_str 0x000000000000884d 0x21e ./Kernel/captbl.o
- 0x74c7 (size before relaxing)
- .debug_str 0x0000000000008a6b 0x35d ./Kernel/kernel.o
- 0x7eca (size before relaxing)
- .debug_str 0x0000000000008dc8 0x97 ./Kernel/kotbl.o
- 0x6187 (size before relaxing)
- .debug_str 0x0000000000008e5f 0xe6 ./Kernel/pgtbl.o
- 0x75b5 (size before relaxing)
- .debug_str 0x0000000000008f45 0x1e1 ./Kernel/prcthd.o
- 0x7e9a (size before relaxing)
- .debug_str 0x0000000000009126 0x94 ./Kernel/siginv.o
- 0x7c88 (size before relaxing)
- .debug_str 0x00000000000091ba 0x63 ./UVM.o
- 0x1a4a (size before relaxing)
+.debug_str 0x0000000000000000 0x942b
+ .debug_str 0x0000000000000000 0x8a53 ./Platform/platform_x64.o
+ 0x8bb7 (size before relaxing)
+ .debug_str 0x0000000000008a53 0x21e ./Kernel/captbl.o
+ 0x76a9 (size before relaxing)
+ .debug_str 0x0000000000008c71 0x365 ./Kernel/kernel.o
+ 0x80c2 (size before relaxing)
+ .debug_str 0x0000000000008fd6 0x97 ./Kernel/kotbl.o
+ 0x6227 (size before relaxing)
+ .debug_str 0x000000000000906d 0xe6 ./Kernel/pgtbl.o
+ 0x7797 (size before relaxing)
+ .debug_str 0x0000000000009153 0x1e1 ./Kernel/prcthd.o
+ 0x808a (size before relaxing)
+ .debug_str 0x0000000000009334 0x94 ./Kernel/siginv.o
+ 0x7e70 (size before relaxing)
+ .debug_str 0x00000000000093c8 0x63 ./UVM.o
+ 0x1a96 (size before relaxing)
.comment 0x0000000000000000 0x34
.comment 0x0000000000000000 0x34 ./Platform/platform_x64.o
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/isofiles/boot/RME b/Project/ECLIPSE-GCC-X64/RME/Debug/isofiles/boot/RME
index 6e25520..c1b4024 100644
Binary files a/Project/ECLIPSE-GCC-X64/RME/Debug/isofiles/boot/RME and b/Project/ECLIPSE-GCC-X64/RME/Debug/isofiles/boot/RME differ
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/os.iso b/Project/ECLIPSE-GCC-X64/RME/Debug/os.iso
index 5102b45..421ac03 100644
Binary files a/Project/ECLIPSE-GCC-X64/RME/Debug/os.iso and b/Project/ECLIPSE-GCC-X64/RME/Debug/os.iso differ
diff --git a/Project/ECLIPSE-GCC-X64/RME/Debug/subdir.mk b/Project/ECLIPSE-GCC-X64/RME/Debug/subdir.mk
index f68f1eb..6e2f4da 100644
--- a/Project/ECLIPSE-GCC-X64/RME/Debug/subdir.mk
+++ b/Project/ECLIPSE-GCC-X64/RME/Debug/subdir.mk
@@ -17,7 +17,7 @@ C_DEPS += \
%.o: ../%.c
@echo 'Building file: $<'
@echo 'Invoking: GCC C Compiler'
- gcc -m64 -mcmodel=kernel -nostdlib -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
+ gcc -m64 -mcmodel=kernel -nostdlib -D"likely(x)=__builtin_expect(!!(x), 1)" -D"unlikely(x)=__builtin_expect(!!(x), 0)" -I/media/pry/Code/Code_Library/MCU/Mutatus/M7M1_MuEukaron/Project/ECLIPSE-GCC-X64/RME/../../../MEukaron/Include -O3 -mno-sse -g3 -Wall -c -fmessage-length=0 -fno-pic -static -fno-builtin -fno-strict-aliasing -ffreestanding -fno-common -fno-stack-protector -mtls-direct-seg-refs -mno-red-zone -MMD -MP -MF"$(@:%.o=%.d)" -MT"$(@)" -o "$@" "$<"
@echo 'Finished building: $<'
@echo ' '
diff --git a/Project/ECLIPSE-GCC-X64/RME/UVM.c b/Project/ECLIPSE-GCC-X64/RME/UVM.c
index 7d8f883..b850377 100644
--- a/Project/ECLIPSE-GCC-X64/RME/UVM.c
+++ b/Project/ECLIPSE-GCC-X64/RME/UVM.c
@@ -7,11 +7,11 @@ Description : The *.c code containing the array of the binary image.
******************************************************************************/
/* Begin Contents ************************************************************/
-const unsigned char UVM_Init[4104]=
+const unsigned char UVM_Init[5064]=
{
0xE9,
- 0xDB,
- 0x01,
+ 0x1B,
+ 0x02,
0x00,
0x00,
0x52,
@@ -121,7 +121,10 @@ const unsigned char UVM_Init[4104]=
0x9C,
0x48,
0x89,
- 0xF8,
+ 0xF2,
+ 0x48,
+ 0x89,
+ 0xFE,
0x48,
0xBF,
0x00,
@@ -132,9 +135,6 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0x00,
- 0x48,
- 0x09,
- 0xC7,
0x0F,
0x05,
0x9D,
@@ -345,8 +345,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0xEC,
- 0x0C,
+ 0x8C,
+ 0x10,
0x00,
0x00,
0xEB,
@@ -365,7 +365,7 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0x05,
- 0x94,
+ 0xA4,
0x1E,
0x00,
0x00,
@@ -400,13 +400,13 @@ const unsigned char UVM_Init[4104]=
0x48,
0x89,
0x05,
- 0x85,
+ 0x9D,
0x1E,
0x00,
0x00,
0xE8,
- 0xB0,
- 0x0C,
+ 0x50,
+ 0x10,
0x00,
0x00,
0xE8,
@@ -417,40 +417,57 @@ const unsigned char UVM_Init[4104]=
0x48,
0x89,
0x05,
- 0x6C,
+ 0x7C,
0x1E,
0x00,
0x00,
0x48,
- 0x2B,
+ 0x8B,
0x05,
- 0x6D,
+ 0x75,
0x1E,
0x00,
0x00,
0x48,
- 0x01,
+ 0x03,
0x05,
- 0x56,
+ 0x66,
+ 0x1E,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0x77,
0x1E,
0x00,
0x00,
0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
0x83,
0xEB,
0x01,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x51,
+ 0x1E,
+ 0x00,
+ 0x00,
0x75,
- 0xC8,
+ 0xB7,
0x48,
0xC7,
0xC7,
- 0x58,
- 0x0F,
+ 0xF8,
+ 0x12,
0x00,
0x00,
0xE8,
- 0x24,
- 0x07,
+ 0xB3,
+ 0x0A,
0x00,
0x00,
0x48,
@@ -469,162 +486,853 @@ const unsigned char UVM_Init[4104]=
0x48,
0xF7,
0x25,
- 0x30,
+ 0x2F,
0x1E,
0x00,
0x00,
0x48,
- 0xC1,
- 0xEA,
- 0x12,
- 0x48,
0x89,
0xD7,
+ 0x48,
+ 0xC1,
+ 0xEF,
+ 0x12,
0xE8,
- 0xC4,
- 0x04,
+ 0x53,
+ 0x08,
0x00,
0x00,
0xEB,
0xFE,
- 0x66,
0x90,
0x48,
0x83,
0xEC,
0x08,
- 0x48,
- 0x85,
- 0xFF,
- 0x74,
- 0x02,
- 0xEB,
+ 0xE8,
+ 0x22,
0xFE,
- 0x49,
- 0xB9,
- 0x00,
- 0x00,
- 0x00,
- 0x07,
- 0x00,
- 0x80,
0xFF,
0xFF,
- 0x41,
- 0xB8,
- 0x0A,
- 0x00,
- 0x00,
- 0x00,
- 0xB9,
- 0x02,
- 0x00,
+ 0x31,
+ 0xC9,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x1E,
+ 0x1E,
0x00,
0x00,
- 0xBA,
- 0x09,
+ 0x31,
+ 0xD2,
+ 0x31,
+ 0xF6,
+ 0x31,
+ 0xFF,
+ 0x48,
+ 0x83,
+ 0xC4,
+ 0x08,
+ 0xE9,
+ 0x97,
+ 0xFE,
+ 0xFF,
+ 0xFF,
+ 0x66,
+ 0x2E,
+ 0x0F,
+ 0x1F,
+ 0x84,
0x00,
0x00,
0x00,
- 0xBE,
0x00,
- 0x80,
- 0x05,
0x00,
- 0xE8,
- 0x01,
- 0x0B,
+ 0x0F,
+ 0x1F,
+ 0x44,
0x00,
0x00,
0x48,
0x85,
- 0xC0,
+ 0xFF,
+ 0x53,
0x0F,
- 0x88,
- 0xF2,
- 0x00,
+ 0x85,
+ 0xA6,
+ 0x03,
0x00,
0x00,
- 0x31,
- 0xD2,
- 0xBE,
+ 0x48,
+ 0xC7,
+ 0x05,
+ 0xDB,
+ 0x1D,
0x00,
- 0x80,
- 0x03,
0x00,
- 0xBF,
- 0x09,
0x00,
0x00,
0x00,
- 0xE8,
- 0x77,
- 0x0B,
0x00,
+ 0xBB,
+ 0x40,
+ 0x42,
+ 0x0F,
0x00,
- 0x48,
- 0x85,
- 0xC0,
+ 0x66,
0x0F,
- 0x88,
- 0xCC,
- 0x03,
+ 0x1F,
+ 0x44,
0x00,
0x00,
- 0x48,
- 0xBA,
- 0xFE,
- 0xFF,
- 0xFF,
- 0xFF,
- 0xFF,
+ 0xE8,
+ 0xD6,
+ 0xFD,
0xFF,
0xFF,
- 0x7F,
- 0xBE,
- 0x00,
- 0x80,
- 0x03,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0xDC,
+ 0x1D,
0x00,
- 0xBF,
- 0x09,
0x00,
+ 0xE8,
+ 0xCA,
+ 0xFD,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0xC0,
+ 0x1D,
0x00,
0x00,
- 0xE8,
- 0xD5,
- 0x0B,
+ 0x48,
+ 0x8B,
+ 0x05,
+ 0xB9,
+ 0x1D,
0x00,
0x00,
0x48,
- 0x85,
- 0xC0,
- 0x0F,
- 0x88,
- 0x3E,
0x03,
+ 0x05,
+ 0xAA,
+ 0x1D,
0x00,
0x00,
- 0xBA,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0xBB,
+ 0x1D,
0x00,
0x00,
- 0xC0,
+ 0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
+ 0x83,
+ 0xEB,
+ 0x01,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x95,
+ 0x1D,
0x00,
+ 0x00,
+ 0x75,
+ 0xC3,
0x48,
0xC7,
- 0xC6,
- 0x60,
+ 0xC7,
0x01,
+ 0x13,
0x00,
0x00,
- 0xBF,
- 0x09,
+ 0xBB,
+ 0x40,
+ 0x42,
+ 0x0F,
+ 0x00,
+ 0xE8,
+ 0xF2,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xBA,
+ 0xDB,
+ 0x34,
+ 0xB6,
+ 0xD7,
+ 0x82,
+ 0xDE,
+ 0x1B,
+ 0x43,
+ 0x48,
+ 0x89,
+ 0xD0,
+ 0x48,
+ 0xF7,
+ 0x25,
+ 0x6E,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC1,
+ 0xEA,
+ 0x12,
+ 0x48,
+ 0x89,
+ 0xD7,
+ 0xE8,
+ 0x92,
+ 0x07,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0x05,
+ 0x57,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x0F,
+ 0x1F,
+ 0x80,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x56,
+ 0xFD,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0xC7,
+ 0xC1,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x55,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x89,
+ 0xCA,
+ 0x48,
+ 0x89,
+ 0xCE,
+ 0x48,
+ 0x89,
+ 0xCF,
+ 0xE8,
+ 0xC7,
+ 0xFD,
+ 0xFF,
+ 0xFF,
+ 0xE8,
+ 0x35,
+ 0xFD,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x2B,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x05,
+ 0x24,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x03,
+ 0x05,
+ 0x15,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0x26,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
+ 0x83,
+ 0xEB,
+ 0x01,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x00,
+ 0x1D,
+ 0x00,
+ 0x00,
+ 0x75,
+ 0xAE,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x09,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x62,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xBA,
+ 0xDB,
+ 0x34,
+ 0xB6,
+ 0xD7,
+ 0x82,
+ 0xDE,
+ 0x1B,
+ 0x43,
+ 0x48,
+ 0x89,
+ 0xD0,
+ 0x48,
+ 0xF7,
+ 0x25,
+ 0xDE,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC1,
+ 0xEA,
+ 0x12,
+ 0x48,
+ 0x89,
+ 0xD7,
+ 0xE8,
+ 0x02,
+ 0x07,
+ 0x00,
+ 0x00,
+ 0x31,
+ 0xFF,
+ 0x49,
+ 0xB8,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x07,
+ 0x00,
+ 0x80,
+ 0xFF,
+ 0xFF,
+ 0xB9,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xBA,
+ 0x0B,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xBE,
+ 0x00,
+ 0x80,
+ 0x05,
+ 0x00,
+ 0xE8,
+ 0x22,
+ 0x0F,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0x6B,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x31,
+ 0xC9,
+ 0xBA,
+ 0x00,
+ 0x00,
+ 0xC0,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC6,
+ 0xF0,
+ 0x01,
+ 0x00,
+ 0x00,
+ 0xBF,
+ 0x0B,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x51,
+ 0x0F,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0x16,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0x05,
+ 0x7D,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0x05,
+ 0x6A,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xBB,
+ 0x40,
+ 0x42,
+ 0x0F,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0x05,
+ 0x52,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x66,
+ 0x90,
+ 0xE8,
+ 0x66,
+ 0xFC,
+ 0xFF,
+ 0xFF,
+ 0x31,
+ 0xD2,
+ 0x31,
+ 0xF6,
+ 0xBF,
+ 0x0B,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x63,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x8F,
+ 0xFC,
+ 0xFF,
+ 0xFF,
+ 0xE8,
+ 0x4C,
+ 0xFC,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x42,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x05,
+ 0x3B,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x03,
+ 0x05,
+ 0x2C,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0x3D,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0x1B,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x05,
+ 0x24,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x03,
+ 0x05,
+ 0x05,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0x1E,
+ 0x1C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0xF4,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x05,
+ 0xFD,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x03,
+ 0x05,
+ 0xDE,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x8B,
+ 0x15,
+ 0xF7,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x29,
+ 0xD0,
+ 0x48,
+ 0x83,
+ 0xEB,
+ 0x01,
+ 0x48,
+ 0x89,
+ 0x05,
+ 0xC9,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x0F,
+ 0x85,
+ 0x73,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0x48,
+ 0xBB,
+ 0xDB,
+ 0x34,
+ 0xB6,
+ 0xD7,
+ 0x82,
+ 0xDE,
+ 0x1B,
+ 0x43,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x32,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x2D,
+ 0x08,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x89,
+ 0xD8,
+ 0x48,
+ 0xF7,
+ 0x25,
+ 0xB3,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC1,
+ 0xEA,
+ 0x12,
+ 0x48,
+ 0x89,
+ 0xD7,
+ 0xE8,
+ 0xD7,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x38,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x0B,
+ 0x08,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x89,
+ 0xD8,
+ 0x48,
+ 0xF7,
+ 0x25,
+ 0x89,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC1,
+ 0xEA,
+ 0x12,
+ 0x48,
+ 0x89,
+ 0xD7,
+ 0xE8,
+ 0xB5,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x3D,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xE9,
+ 0x07,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x89,
+ 0xD8,
+ 0x48,
+ 0xF7,
+ 0x25,
+ 0x5F,
+ 0x1B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC1,
+ 0xEA,
+ 0x12,
+ 0x48,
+ 0x89,
+ 0xD7,
+ 0xE8,
+ 0x93,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x31,
+ 0xFF,
+ 0x49,
+ 0xB9,
+ 0x80,
+ 0x12,
+ 0x00,
+ 0x07,
+ 0x00,
+ 0x80,
+ 0xFF,
+ 0xFF,
+ 0x41,
+ 0xB8,
+ 0x0A,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xB9,
+ 0x02,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xBA,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xBE,
+ 0x00,
+ 0x80,
+ 0x05,
+ 0x00,
+ 0xE8,
+ 0xDD,
+ 0x0B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0x56,
+ 0x04,
+ 0x00,
+ 0x00,
+ 0x31,
+ 0xD2,
+ 0xBE,
+ 0x00,
+ 0x80,
+ 0x03,
+ 0x00,
+ 0xBF,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x53,
+ 0x0C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0x48,
+ 0x01,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xBA,
+ 0xFE,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0xFF,
+ 0x7F,
+ 0xBE,
+ 0x00,
+ 0x80,
+ 0x03,
+ 0x00,
+ 0xBF,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xB1,
+ 0x0C,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0xAE,
+ 0x03,
+ 0x00,
+ 0x00,
+ 0xBA,
+ 0x00,
+ 0x00,
+ 0xC0,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC6,
+ 0x60,
+ 0x01,
+ 0x00,
+ 0x00,
+ 0xBF,
+ 0x09,
0x00,
0x00,
0x00,
0xE8,
- 0xF6,
- 0x0A,
+ 0xD2,
+ 0x0B,
0x00,
0x00,
0x48,
@@ -632,16 +1340,16 @@ const unsigned char UVM_Init[4104]=
0xC0,
0x0F,
0x88,
- 0xB3,
- 0x02,
+ 0x23,
+ 0x03,
0x00,
0x00,
0x31,
0xFF,
0x49,
0xB9,
- 0xD0,
- 0x09,
+ 0x50,
+ 0x1C,
0x00,
0x07,
0x00,
@@ -670,8 +1378,8 @@ const unsigned char UVM_Init[4104]=
0x05,
0x00,
0xE8,
- 0x77,
- 0x0A,
+ 0x53,
+ 0x0B,
0x00,
0x00,
0x48,
@@ -679,7 +1387,7 @@ const unsigned char UVM_Init[4104]=
0xC0,
0x0F,
0x88,
- 0x18,
+ 0x88,
0x02,
0x00,
0x00,
@@ -696,8 +1404,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0xED,
- 0x0A,
+ 0xC9,
+ 0x0B,
0x00,
0x00,
0x48,
@@ -705,8 +1413,8 @@ const unsigned char UVM_Init[4104]=
0xC0,
0x0F,
0x88,
- 0x92,
- 0x01,
+ 0x02,
+ 0x02,
0x00,
0x00,
0x48,
@@ -730,8 +1438,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0x4B,
- 0x0B,
+ 0x27,
+ 0x0C,
0x00,
0x00,
0x48,
@@ -739,7 +1447,7 @@ const unsigned char UVM_Init[4104]=
0xC0,
0x0F,
0x88,
- 0x04,
+ 0x74,
0x01,
0x00,
0x00,
@@ -755,43 +1463,263 @@ const unsigned char UVM_Init[4104]=
0x01,
0x00,
0x00,
- 0xBF,
- 0x0A,
+ 0xBF,
+ 0x0A,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x48,
+ 0x0B,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0x85,
+ 0xC0,
+ 0x0F,
+ 0x88,
+ 0xE9,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0x31,
+ 0xF6,
+ 0xBF,
+ 0x09,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x13,
+ 0x0C,
+ 0x00,
+ 0x00,
+ 0x0F,
+ 0x1F,
+ 0x00,
+ 0xEB,
+ 0xFE,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x48,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xA2,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x80,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x96,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x0F,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x8A,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0xBF,
+ 0xAB,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x40,
+ 0x04,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x17,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x74,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x1A,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x68,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x26,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x5C,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x29,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x50,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x17,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x44,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0xEB,
+ 0xFE,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x48,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x36,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x80,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x2A,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x0F,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x1E,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0xBF,
+ 0xC5,
+ 0x00,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xD4,
+ 0x03,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x17,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0x08,
+ 0x06,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x1A,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xFC,
+ 0x05,
+ 0x00,
+ 0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x26,
+ 0x13,
+ 0x00,
+ 0x00,
+ 0xE8,
+ 0xF0,
+ 0x05,
+ 0x00,
0x00,
+ 0x48,
+ 0xC7,
+ 0xC7,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
- 0x6C,
- 0x0A,
+ 0xE4,
+ 0x05,
0x00,
0x00,
0x48,
- 0x85,
- 0xC0,
- 0x78,
- 0x7D,
- 0x31,
- 0xF6,
- 0xBF,
- 0x09,
- 0x00,
+ 0xC7,
+ 0xC7,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
- 0x3B,
- 0x0B,
+ 0xD8,
+ 0x05,
0x00,
0x00,
- 0xE9,
- 0xDF,
+ 0xEB,
0xFE,
- 0xFF,
- 0xFF,
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -802,8 +1730,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -814,8 +1742,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -824,7 +1752,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x8C,
+ 0xCD,
0x00,
0x00,
0x00,
@@ -836,8 +1764,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -848,8 +1776,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -860,8 +1788,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -872,8 +1800,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -884,8 +1812,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -898,8 +1826,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -910,8 +1838,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -922,8 +1850,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -932,7 +1860,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x95,
+ 0xCC,
0x00,
0x00,
0x00,
@@ -944,8 +1872,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -956,8 +1884,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -968,8 +1896,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -980,8 +1908,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -992,8 +1920,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1006,8 +1934,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1018,8 +1946,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1030,8 +1958,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1040,7 +1968,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x94,
+ 0xCB,
0x00,
0x00,
0x00,
@@ -1052,8 +1980,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1064,8 +1992,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1076,8 +2004,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1088,8 +2016,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1100,8 +2028,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1114,8 +2042,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1126,8 +2054,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1138,8 +2066,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1148,7 +2076,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x93,
+ 0xCA,
0x00,
0x00,
0x00,
@@ -1160,8 +2088,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1172,8 +2100,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1184,8 +2112,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1196,8 +2124,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1208,8 +2136,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1222,8 +2150,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1234,8 +2162,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1246,8 +2174,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1256,7 +2184,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x92,
+ 0xC7,
0x00,
0x00,
0x00,
@@ -1268,8 +2196,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1280,8 +2208,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1292,8 +2220,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1304,8 +2232,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1316,8 +2244,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1330,8 +2258,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1342,8 +2270,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1354,8 +2282,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1364,7 +2292,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x8F,
+ 0xC6,
0x00,
0x00,
0x00,
@@ -1376,8 +2304,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1388,8 +2316,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1400,8 +2328,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1412,8 +2340,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1424,8 +2352,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1438,8 +2366,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1450,8 +2378,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1462,8 +2390,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1472,7 +2400,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x8E,
+ 0xC4,
0x00,
0x00,
0x00,
@@ -1484,8 +2412,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1496,8 +2424,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1508,8 +2436,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1520,8 +2448,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1532,8 +2460,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1546,8 +2474,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x88,
- 0x0F,
+ 0x48,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1558,8 +2486,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0xC0,
- 0x0F,
+ 0x80,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1570,8 +2498,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x61,
0x0F,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1580,7 +2508,7 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xBF,
- 0x8D,
+ 0xAD,
0x00,
0x00,
0x00,
@@ -1592,8 +2520,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1604,8 +2532,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x6C,
- 0x0F,
+ 0x1A,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1616,8 +2544,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x78,
- 0x0F,
+ 0x26,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1628,8 +2556,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x7B,
- 0x0F,
+ 0x29,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1640,8 +2568,8 @@ const unsigned char UVM_Init[4104]=
0x48,
0xC7,
0xC7,
- 0x69,
- 0x0F,
+ 0x17,
+ 0x13,
0x00,
0x00,
0xE8,
@@ -1832,8 +2760,8 @@ const unsigned char UVM_Init[4104]=
0xBE,
0xFF,
0xE8,
- 0xAD,
- 0xF9,
+ 0x0D,
+ 0xF6,
0xFF,
0xFF,
0x48,
@@ -1975,8 +2903,8 @@ const unsigned char UVM_Init[4104]=
0x89,
0xD4,
0xE8,
- 0x1E,
- 0xF9,
+ 0x7E,
+ 0xF5,
0xFF,
0xFF,
0x66,
@@ -2007,8 +2935,8 @@ const unsigned char UVM_Init[4104]=
0xBE,
0xF8,
0xE8,
- 0xFE,
- 0xF8,
+ 0x5E,
+ 0xF5,
0xFF,
0xFF,
0x4C,
@@ -2047,8 +2975,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0xD6,
- 0xF8,
+ 0x36,
+ 0xF5,
0xFF,
0xFF,
0x5B,
@@ -2071,8 +2999,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0xBE,
- 0xF8,
+ 0x1E,
+ 0xF5,
0xFF,
0xFF,
0xB8,
@@ -2189,8 +3117,8 @@ const unsigned char UVM_Init[4104]=
0x7A,
0x30,
0xE8,
- 0x48,
- 0xF8,
+ 0xA8,
+ 0xF4,
0xFF,
0xFF,
0x48,
@@ -2228,8 +3156,8 @@ const unsigned char UVM_Init[4104]=
0x7A,
0x37,
0xE8,
- 0x21,
- 0xF8,
+ 0x81,
+ 0xF4,
0xFF,
0xFF,
0x48,
@@ -2255,8 +3183,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0x06,
- 0xF8,
+ 0x66,
+ 0xF4,
0xFF,
0xFF,
0x5B,
@@ -2302,8 +3230,8 @@ const unsigned char UVM_Init[4104]=
0xC3,
0x01,
0xE8,
- 0xD7,
- 0xF7,
+ 0x37,
+ 0xF4,
0xFF,
0xFF,
0x48,
@@ -2372,8 +3300,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0xC1,
- 0xF7,
+ 0x21,
+ 0xF4,
0xFF,
0xFF,
0x48,
@@ -2418,8 +3346,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE8,
- 0x93,
- 0xF7,
+ 0xF3,
+ 0xF3,
0xFF,
0xFF,
0x48,
@@ -2457,8 +3385,8 @@ const unsigned char UVM_Init[4104]=
0xEC,
0x08,
0xE8,
- 0x99,
- 0xF6,
+ 0xF9,
+ 0xF2,
0xFF,
0xFF,
0x48,
@@ -2478,8 +3406,8 @@ const unsigned char UVM_Init[4104]=
0x89,
0xF3,
0xE8,
- 0x84,
- 0xF6,
+ 0xE4,
+ 0xF2,
0xFF,
0xFF,
0x48,
@@ -2490,8 +3418,8 @@ const unsigned char UVM_Init[4104]=
0xC3,
0x90,
0xE9,
- 0x7B,
- 0xF7,
+ 0xDB,
+ 0xF3,
0xFF,
0xFF,
0x90,
@@ -2537,8 +3465,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xC4,
- 0xF6,
+ 0x24,
+ 0xF3,
0xFF,
0xFF,
0x66,
@@ -2571,8 +3499,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xA2,
- 0xF6,
+ 0x02,
+ 0xF3,
0xFF,
0xFF,
0x66,
@@ -2603,8 +3531,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x82,
- 0xF6,
+ 0xE2,
+ 0xF2,
0xFF,
0xFF,
0x66,
@@ -2649,8 +3577,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x54,
- 0xF6,
+ 0xB4,
+ 0xF2,
0xFF,
0xFF,
0x66,
@@ -2716,8 +3644,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC9,
0xE9,
- 0x11,
- 0xF6,
+ 0x71,
+ 0xF2,
0xFF,
0xFF,
0x66,
@@ -2771,8 +3699,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xDA,
- 0xF5,
+ 0x3A,
+ 0xF2,
0xFF,
0xFF,
0x66,
@@ -2848,8 +3776,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x8D,
- 0xF5,
+ 0xED,
+ 0xF1,
0xFF,
0xFF,
0x0F,
@@ -2875,8 +3803,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x72,
- 0xF5,
+ 0xD2,
+ 0xF1,
0xFF,
0xFF,
0x66,
@@ -2921,8 +3849,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x44,
- 0xF5,
+ 0xA4,
+ 0xF1,
0xFF,
0xFF,
0x66,
@@ -2992,8 +3920,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xFD,
- 0xF4,
+ 0x5D,
+ 0xF1,
0xFF,
0xFF,
0x0F,
@@ -3019,8 +3947,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xE2,
- 0xF4,
+ 0x42,
+ 0xF1,
0xFF,
0xFF,
0x66,
@@ -3079,8 +4007,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xA6,
- 0xF4,
+ 0x06,
+ 0xF1,
0xFF,
0xFF,
0x0F,
@@ -3116,8 +4044,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x81,
- 0xF4,
+ 0xE1,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3158,8 +4086,8 @@ const unsigned char UVM_Init[4104]=
0x89,
0xC2,
0xE9,
- 0x57,
- 0xF4,
+ 0xB7,
+ 0xF0,
0xFF,
0xFF,
0x0F,
@@ -3196,8 +4124,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x31,
- 0xF4,
+ 0x91,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3251,8 +4179,8 @@ const unsigned char UVM_Init[4104]=
0x89,
0xC9,
0xE9,
- 0xFA,
- 0xF3,
+ 0x5A,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3275,8 +4203,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xE2,
- 0xF3,
+ 0x42,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3308,8 +4236,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xC1,
- 0xF3,
+ 0x21,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3340,8 +4268,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xA1,
- 0xF3,
+ 0x01,
+ 0xF0,
0xFF,
0xFF,
0x66,
@@ -3395,8 +4323,8 @@ const unsigned char UVM_Init[4104]=
0x89,
0xC9,
0xE9,
- 0x6A,
- 0xF3,
+ 0xCA,
+ 0xEF,
0xFF,
0xFF,
0x66,
@@ -3419,8 +4347,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x52,
- 0xF3,
+ 0xB2,
+ 0xEF,
0xFF,
0xFF,
0x66,
@@ -3453,8 +4381,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x30,
- 0xF3,
+ 0x90,
+ 0xEF,
0xFF,
0xFF,
0x0F,
@@ -3484,8 +4412,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x11,
- 0xF3,
+ 0x71,
+ 0xEF,
0xFF,
0xFF,
0x66,
@@ -3517,8 +4445,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xF0,
- 0xF2,
+ 0x50,
+ 0xEF,
0xFF,
0xFF,
0x0F,
@@ -3547,8 +4475,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xD2,
- 0xF2,
+ 0x32,
+ 0xEF,
0xFF,
0xFF,
0x66,
@@ -3580,8 +4508,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xB1,
- 0xF2,
+ 0x11,
+ 0xEF,
0xFF,
0xFF,
0x66,
@@ -3611,8 +4539,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x92,
0xF2,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3645,8 +4573,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x70,
- 0xF2,
+ 0xD0,
+ 0xEE,
0xFF,
0xFF,
0x0F,
@@ -3676,8 +4604,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x51,
- 0xF2,
+ 0xB1,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3703,8 +4631,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x36,
- 0xF2,
+ 0x96,
+ 0xEE,
0xFF,
0xFF,
0x0F,
@@ -3739,8 +4667,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x12,
- 0xF2,
+ 0x72,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3771,8 +4699,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xF2,
- 0xF1,
+ 0x52,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3803,8 +4731,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0xD2,
- 0xF1,
+ 0x32,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3849,8 +4777,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0xA4,
- 0xF1,
+ 0x04,
+ 0xEE,
0xFF,
0xFF,
0x66,
@@ -3883,8 +4811,8 @@ const unsigned char UVM_Init[4104]=
0x09,
0xC7,
0xE9,
- 0x82,
- 0xF1,
+ 0xE2,
+ 0xED,
0xFF,
0xFF,
0x66,
@@ -3929,8 +4857,8 @@ const unsigned char UVM_Init[4104]=
0x00,
0x00,
0xE9,
- 0x54,
- 0xF1,
+ 0xB4,
+ 0xED,
0xFF,
0xFF,
0x00,
@@ -3946,6 +4874,20 @@ const unsigned char UVM_Init[4104]=
0x68,
0x20,
0x00,
+ 0x0D,
+ 0x0A,
+ 0x65,
+ 0x6D,
+ 0x70,
+ 0x74,
+ 0x79,
+ 0x00,
+ 0x0D,
+ 0x0A,
+ 0x72,
+ 0x61,
+ 0x77,
+ 0x00,
0x2C,
0x20,
0x4C,
@@ -3962,7 +4904,7 @@ const unsigned char UVM_Init[4104]=
0x79,
0x20,
0x32,
- 0x32,
+ 0x33,
0x20,
0x32,
0x30,
@@ -3972,14 +4914,32 @@ const unsigned char UVM_Init[4104]=
0x2C,
0x20,
0x00,
- 0x31,
- 0x39,
+ 0x32,
+ 0x30,
0x3A,
- 0x35,
- 0x38,
+ 0x34,
+ 0x37,
0x3A,
- 0x30,
- 0x39,
+ 0x34,
+ 0x35,
+ 0x00,
+ 0x0D,
+ 0x0A,
+ 0x69,
+ 0x6E,
+ 0x76,
+ 0x00,
+ 0x0D,
+ 0x0A,
+ 0x69,
+ 0x6E,
+ 0x00,
+ 0x0D,
+ 0x0A,
+ 0x6F,
+ 0x75,
+ 0x74,
+ 0x00,
0x00,
0x00,
0x00,
diff --git a/Project/RVMDK-STM32F767IGT6/M7M1.uvguix.pry b/Project/RVMDK-STM32F767IGT6/M7M1.uvguix.pry
index 58bedfe..190e68a 100644
--- a/Project/RVMDK-STM32F767IGT6/M7M1.uvguix.pry
+++ b/Project/RVMDK-STM32F767IGT6/M7M1.uvguix.pry
@@ -16,7 +16,7 @@
346
Code Coverage
- 232 100
+ 232 528
204
@@ -95,7 +95,7 @@
0
3072
- 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001900000005000000010000006D463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3550315F4D7550726F6B61726F6E5C50726F6A6563745C52564D444B2D53544D333246373637494754362D52564D2D44554B544150455C44656275675C4F75747075745C564D5F44554B544150452E63000000000C564D5F44554B544150452E6300000000C5D4F200FFFFFFFF75463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C5F74696D2E63000000001373746D3332663778785F68616C5F74696D2E6300000000FFDC7800FFFFFFFF78463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C434D5349535C4465766963655C53545C53544D3332463778785C496E636C7564655C73746D33326637363778782E68000000000D73746D33326637363778782E6800000000BECEA100FFFFFFFF78463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C5F636F727465782E63000000001673746D3332663778785F68616C5F636F727465782E6300000000F0A0A100FFFFFFFF61463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C434D5349535C496E636C7564655C636F72655F636D372E68000000000A636F72655F636D372E6800000000BCA8E100FFFFFFFF57463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D785F61736D2E730000000012706C6174666F726D5F636D785F61736D2E73000000009CC1B600FFFFFFFF42463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C706774626C2E630000000007706774626C2E6300000000F7B88600FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C7072637468642E6300000000087072637468642E6300000000D9ADC200FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C736967696E762E630000000008736967696E762E6300000000A5C2D700FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C63617074626C2E63000000000863617074626C2E6300000000B3A6BE00FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C63617074626C2E68000000000863617074626C2E6800000000EAD6A300FFFFFFFF53463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D782E63000000000E706C6174666F726D5F636D782E6300000000F6FA7D00FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C6B65726E656C2E6800000000086B65726E656C2E6800000000B5E99D00FFFFFFFF41463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C524D452E680000000005524D452E68000000005FC3CF00FFFFFFFF53463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C524D455F706C6174666F726D2E68000000000E524D455F706C6174666F726D2E6800000000C1838300FFFFFFFF60463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D785F636F6E662E680000000013706C6174666F726D5F636D785F636F6E662E6800000000CACAD500FFFFFFFF75463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C43686970735C53544D33324637363749475C706C6174666F726D5F53544D33324637363749472E680000000016706C6174666F726D5F53544D33324637363749472E6800000000C5D4F200FFFFFFFF5B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D782E68000000000E706C6174666F726D5F636D782E6800000000FFDC7800FFFFFFFF4A463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C706774626C2E680000000007706774626C2E6800000000BECEA100FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C7072637468642E6800000000087072637468642E6800000000F0A0A100FFFFFFFF42463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C6B6F74626C2E6300000000076B6F74626C2E6300000000BCA8E100FFFFFFFF4A463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C6B6F74626C2E6800000000076B6F74626C2E68000000009CC1B600FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C6B65726E656C2E6300000000086B65726E656C2E6300000000F7B88600FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C736967696E762E680000000008736967696E762E6800000000D9ADC200FFFFFFFF77463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C43686970735C53544D33324637363749475C706C6174666F726D5F53544D33324637363749472E7363740000000018706C6174666F726D5F53544D33324637363749472E73637400000000A5C2D700FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001F010000660000008007000010030000
+ 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000001900000013000000010000004B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C63617074626C2E68000000000863617074626C2E6800000000FFDC7800FFFFFFFF77463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C43686970735C53544D33324637363749475C706C6174666F726D5F53544D33324637363749472E7363740000000018706C6174666F726D5F53544D33324637363749472E73637400000000BECEA100FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C736967696E762E680000000008736967696E762E6800000000F0A0A100FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C6B65726E656C2E6300000000086B65726E656C2E6300000000BCA8E100FFFFFFFF4A463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C6B6F74626C2E6800000000076B6F74626C2E68000000009CC1B600FFFFFFFF42463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C6B6F74626C2E6300000000076B6F74626C2E6300000000F7B88600FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C7072637468642E6800000000087072637468642E6800000000D9ADC200FFFFFFFF4A463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C706774626C2E680000000007706774626C2E6800000000A5C2D700FFFFFFFF5B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D782E68000000000E706C6174666F726D5F636D782E6800000000B3A6BE00FFFFFFFF75463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C43686970735C53544D33324637363749475C706C6174666F726D5F53544D33324637363749472E680000000016706C6174666F726D5F53544D33324637363749472E6800000000EAD6A300FFFFFFFF60463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D785F636F6E662E680000000013706C6174666F726D5F636D785F636F6E662E6800000000F6FA7D00FFFFFFFF53463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C506C6174666F726D5C524D455F706C6174666F726D2E68000000000E524D455F706C6174666F726D2E6800000000B5E99D00FFFFFFFF41463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C524D452E680000000005524D452E68000000005FC3CF00FFFFFFFF4B463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C496E636C7564655C4B65726E656C5C6B65726E656C2E6800000000086B65726E656C2E6800000000C1838300FFFFFFFF53463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D782E63000000000E706C6174666F726D5F636D782E6300000000CACAD500FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C63617074626C2E63000000000863617074626C2E6300000000C5D4F200FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C736967696E762E630000000008736967696E762E6300000000FFDC7800FFFFFFFF43463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C7072637468642E6300000000087072637468642E6300000000BECEA100FFFFFFFF42463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C4B65726E656C5C706774626C2E630000000007706774626C2E6300000000F0A0A100FFFFFFFF57463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D374D315F4D7545756B61726F6E5C4D45756B61726F6E5C506C6174666F726D5C436F727465784D5C706C6174666F726D5F636D785F61736D2E730000000012706C6174666F726D5F636D785F61736D2E7300000000BCA8E100FFFFFFFF61463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C434D5349535C496E636C7564655C636F72655F636D372E68000000000A636F72655F636D372E68000000009CC1B600FFFFFFFF78463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C5F636F727465782E63000000001673746D3332663778785F68616C5F636F727465782E6300000000F7B88600FFFFFFFF78463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C434D5349535C4465766963655C53545C53544D3332463778785C496E636C7564655C73746D33326637363778782E68000000000D73746D33326637363778782E6800000000D9ADC200FFFFFFFF75463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3050305F4C6962726172795C53544D3332437562655F46575F46375F56312E31312E305C447269766572735C53544D3332463778785F48414C5F4472697665725C5372635C73746D3332663778785F68616C5F74696D2E63000000001373746D3332663778785F68616C5F74696D2E6300000000A5C2D700FFFFFFFF6D463A5C436F64655F4C6962726172795C4D43555C4D7574617475735C4D3550315F4D7550726F6B61726F6E5C50726F6A6563745C52564D444B2D53544D333246373637494754362D52564D2D44554B544150455C44656275675C4F75747075745C564D5F44554B544150452E63000000000C564D5F44554B544150452E6300000000B3A6BE00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD5000100000000000000020000001F010000660000008007000010030000
@@ -1318,7 +1318,7 @@
16
- 560000006D0000004601000038010000
+ 0A0000000A0000006E0000006E000000
@@ -1690,7 +1690,7 @@
File
2311
- 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000000004000000000000000000000000000000000100000001000000018022E100000000000005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000000460000000000000000000000000000000001000000010000000180FE880000000000004500000000000000000000000000000000010000000100000001800B810000000000001300000000000000000000000000000000010000000100000001800C810000000000001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000124F535F4350555F5379735469636B496E697496000000000000001400124F535F4350555F5379735469636B496E697407696E636C7564650953454D4150484F52450353454D0C7076506172616D65746572730D7078437265617465645461736B067374646C69620474696D65077265616C6C6F630574696D65281A64756B5F64656661756C745F616C6C6F635F66756E6374696F6E05656E64696606737472696E67066D616C6C6F63086C6963656E7365730944554B5F465F41524D0A44554B5F465F4D4950531144554B5F5553455F425954454F52444552062268656170220E737461636B206F766572666C6F770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000400160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
+ 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000004000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000004000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000124F535F4350555F5379735469636B496E697496000000000000001400124F535F4350555F5379735469636B496E697407696E636C7564650953454D4150484F52450353454D0C7076506172616D65746572730D7078437265617465645461736B067374646C69620474696D65077265616C6C6F630574696D65281A64756B5F64656661756C745F616C6C6F635F66756E6374696F6E05656E64696606737472696E67066D616C6C6F63086C6963656E7365730944554B5F465F41524D0A44554B5F465F4D4950531144554B5F5553455F425954454F52444552062268656170220E737461636B206F766572666C6F770000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018022800000020000001500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000000180C8880000000000001700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E4C010000020000001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002880DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002880DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002880E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002880E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000288018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000028800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002880D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002880E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65AC030000
1423
@@ -1706,7 +1706,7 @@
Build
670
- 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000004001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000044D374D3196000000000000000100044D374D31000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
+ 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E00000000000000000000000000000000010000000100000001809E8A0000000000001F0000000000000000000000000000000001000000010000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000044D374D3196000000000000000100044D374D31000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64CF010000
583
@@ -1722,7 +1722,7 @@
Debug
2372
- 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
+ 00200000000000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000000000002D0000000000000000000000000000000001000000010000000180F07F0000000000002E0000000000000000000000000000000001000000010000000180E8880000000000003700000000000000000000000000000000010000000100000001803B010000000000002F0000000000000000000000000000000001000000010000000180BB8A00000000000030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000000000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F01000000000000320000000E4D656D6F72792057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000000000000330000000E53657269616C2057696E646F777300000000000000000000000001000000010000000000000000000000010000000400138093070000000000003300000008554152542023263100000000000000000000000001000000010000000000000000000000010000000000138094070000000000003300000008554152542023263200000000000000000000000001000000010000000000000000000000010000000000138095070000000000003300000008554152542023263300000000000000000000000001000000010000000000000000000000010000000000138096070000000000003300000015446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000003400000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000000000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000
898
@@ -1815,7 +1815,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000007D07000079020000
16
@@ -1835,7 +1835,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -1855,7 +1855,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -1875,7 +1875,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -1915,7 +1915,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -1935,7 +1935,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000007D07000079020000
16
@@ -1955,7 +1955,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000007D07000079020000
16
@@ -1975,7 +1975,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -1995,7 +1995,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2015,7 +2015,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2035,7 +2035,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2055,7 +2055,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000007D07000079020000
16
@@ -2175,7 +2175,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000007D07000079020000
16
@@ -2195,7 +2195,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2255,7 +2255,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2275,7 +2275,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2295,7 +2295,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2315,7 +2315,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2815,7 +2815,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -2835,7 +2835,7 @@
0
16
- 2D060000660000007D07000079020000
+ 54050000660000005008000079020000
16
@@ -3324,7 +3324,7 @@
2932
- 0000000008000000000000000010000001000000FFFFFFFFFFFFFFFF270100004F0000002B0100009202000001000000020000100400000001000000D6FEFFFFFBFFFFFF00000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E650010000001000000000000006600000027010000A9020000000000004F00000027010000920200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000040000001000000FFFFFFFFFFFFFFFF260600004F0000002A0600009202000001000000020000100400000001000000F9FEFFFF7F02000000000000000000000000000001000000FFFFFFFF14000000CB00000057010000CC000000F08B00005A010000790700008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB090000018000400000010000002A0600006600000080070000A90200002A0600004F00000080070000920200000000000040280056140000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF1343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572010000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF8C0600004F0000009006000099020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000900600006600000080070000B0020000900600004F000000800700009902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000001000000FFFFFFFFFFFFFFFF0000000092020000800700009602000001000000010000100400000001000000C0FDFFFF4C010000FFFFFFFF05000000C5000000C7000000B401000077940000C60000000180008000000100000000000000AD02000080070000FD030000000000009602000080070000E60300000000000040820056050000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF07436F6D6D616E6401000000C600000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
+ 0000000008000000000000000010000001000000FFFFFFFFFFFFFFFF270100004F0000002B0100009202000001000000020000100400000001000000D6FEFFFFFBFFFFFF00000000000000000000000001000000FFFFFFFF05000000ED0300006D000000C3000000C400000073940000FFFF02000B004354616262656450616E650010000001000000000000006600000027010000A9020000000000004F00000027010000920200000000000040410056050000000750726F6A65637401000000ED03000001000000FFFFFFFFFFFFFFFF05426F6F6B73000000006D00000001000000FFFFFFFFFFFFFFFF0946756E6374696F6E7300000000C300000001000000FFFFFFFFFFFFFFFF0954656D706C6174657300000000C400000001000000FFFFFFFFFFFFFFFF09526567697374657273010000007394000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFED03000001000000FFFFFFFFED030000000000000040000001000000FFFFFFFFFFFFFFFF4D0500004F000000510500009202000001000000020000100400000001000000B6FCFFFF0003000000000000000000000000000001000000FFFFFFFF14000000CB00000057010000CC000000F08B00005A010000790700008F070000930700009407000095070000960700009007000091070000B5010000B8010000B9050000BA050000BB050000BC050000CB090000018000400000010000007E0400006600000080070000A9020000510500004F00000080070000920200000000000040280056140000000B446973617373656D626C7901000000CB00000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A6572000000005701000001000000FFFFFFFFFFFFFFFF14506572666F726D616E636520416E616C797A657200000000CC00000001000000FFFFFFFFFFFFFFFF0E4C6F67696320416E616C797A657200000000F08B000001000000FFFFFFFFFFFFFFFF0D436F646520436F766572616765000000005A01000001000000FFFFFFFFFFFFFFFF11496E737472756374696F6E205472616365000000007907000001000000FFFFFFFFFFFFFFFF1343616C6C20537461636B202B204C6F63616C73010000008F07000001000000FFFFFFFFFFFFFFFF0755415254202331000000009307000001000000FFFFFFFFFFFFFFFF0755415254202332000000009407000001000000FFFFFFFFFFFFFFFF0755415254202333000000009507000001000000FFFFFFFFFFFFFFFF15446562756720287072696E74662920566965776572010000009607000001000000FFFFFFFFFFFFFFFF0757617463682031010000009007000001000000FFFFFFFFFFFFFFFF0757617463682032000000009107000001000000FFFFFFFFFFFFFFFF10547261636520457863657074696F6E7300000000B501000001000000FFFFFFFFFFFFFFFF0E4576656E7420436F756E7465727300000000B801000001000000FFFFFFFFFFFFFFFF084D656D6F7279203101000000B905000001000000FFFFFFFFFFFFFFFF084D656D6F7279203200000000BA05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203300000000BB05000001000000FFFFFFFFFFFFFFFF084D656D6F7279203400000000BC05000001000000FFFFFFFFFFFFFFFF105472616365204E617669676174696F6E00000000CB09000001000000FFFFFFFFFFFFFFFF0000000000000000000000000000000000000000000000000000000001000000FFFFFFFFCB00000001000000FFFFFFFFCB000000000000000040000000000000FFFFFFFFFFFFFFFF8C0600004F0000009006000099020000000000000200000004000000010000000000000000000000FFFFFFFF2B000000E2050000CA0900002D8C00002E8C00002F8C0000308C0000318C0000328C0000338C0000348C0000358C0000368C0000378C0000388C0000398C00003A8C00003B8C00003C8C00003D8C00003E8C00003F8C0000408C0000418C000050C3000051C3000052C3000053C3000054C3000055C3000056C3000057C3000058C3000059C300005AC300005BC300005CC300005DC300005EC300005FC3000060C3000061C3000062C3000063C3000001800040000000000000900600006600000080070000B0020000900600004F000000800700009902000000000000404100462B0000000753796D626F6C7300000000E205000001000000FFFFFFFFFFFFFFFF0A5472616365204461746100000000CA09000001000000FFFFFFFFFFFFFFFF00000000002D8C000001000000FFFFFFFFFFFFFFFF00000000002E8C000001000000FFFFFFFFFFFFFFFF00000000002F8C000001000000FFFFFFFFFFFFFFFF0000000000308C000001000000FFFFFFFFFFFFFFFF0000000000318C000001000000FFFFFFFFFFFFFFFF0000000000328C000001000000FFFFFFFFFFFFFFFF0000000000338C000001000000FFFFFFFFFFFFFFFF0000000000348C000001000000FFFFFFFFFFFFFFFF0000000000358C000001000000FFFFFFFFFFFFFFFF0000000000368C000001000000FFFFFFFFFFFFFFFF0000000000378C000001000000FFFFFFFFFFFFFFFF0000000000388C000001000000FFFFFFFFFFFFFFFF0000000000398C000001000000FFFFFFFFFFFFFFFF00000000003A8C000001000000FFFFFFFFFFFFFFFF00000000003B8C000001000000FFFFFFFFFFFFFFFF00000000003C8C000001000000FFFFFFFFFFFFFFFF00000000003D8C000001000000FFFFFFFFFFFFFFFF00000000003E8C000001000000FFFFFFFFFFFFFFFF00000000003F8C000001000000FFFFFFFFFFFFFFFF0000000000408C000001000000FFFFFFFFFFFFFFFF0000000000418C000001000000FFFFFFFFFFFFFFFF000000000050C3000001000000FFFFFFFFFFFFFFFF000000000051C3000001000000FFFFFFFFFFFFFFFF000000000052C3000001000000FFFFFFFFFFFFFFFF000000000053C3000001000000FFFFFFFFFFFFFFFF000000000054C3000001000000FFFFFFFFFFFFFFFF000000000055C3000001000000FFFFFFFFFFFFFFFF000000000056C3000001000000FFFFFFFFFFFFFFFF000000000057C3000001000000FFFFFFFFFFFFFFFF000000000058C3000001000000FFFFFFFFFFFFFFFF000000000059C3000001000000FFFFFFFFFFFFFFFF00000000005AC3000001000000FFFFFFFFFFFFFFFF00000000005BC3000001000000FFFFFFFFFFFFFFFF00000000005CC3000001000000FFFFFFFFFFFFFFFF00000000005DC3000001000000FFFFFFFFFFFFFFFF00000000005EC3000001000000FFFFFFFFFFFFFFFF00000000005FC3000001000000FFFFFFFFFFFFFFFF000000000060C3000001000000FFFFFFFFFFFFFFFF000000000061C3000001000000FFFFFFFFFFFFFFFF000000000062C3000001000000FFFFFFFFFFFFFFFF000000000063C3000001000000FFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000001000000FFFFFFFFE205000001000000FFFFFFFFE2050000000000000080000001000000FFFFFFFFFFFFFFFF0000000092020000800700009602000001000000010000100400000001000000C0FDFFFF4C010000FFFFFFFF05000000C5000000C7000000B401000077940000C60000000180008000000100000000000000AD02000080070000FD030000000000009602000080070000E60300000000000040820056050000000C4275696C64204F757470757400000000C500000001000000FFFFFFFFFFFFFFFF0D46696E6420496E2046696C657300000000C700000001000000FFFFFFFFFFFFFFFF0A4572726F72204C69737400000000B401000001000000FFFFFFFFFFFFFFFF0642726F777365000000007794000001000000FFFFFFFFFFFFFFFF07436F6D6D616E6401000000C600000001000000FFFFFFFFFFFFFFFF04000000000000000000000000000000000000000000000001000000FFFFFFFFC500000001000000FFFFFFFFC5000000000000000000000000000000
59392
@@ -3387,120 +3387,111 @@
0
100
- 5
-
- ..\..\..\M5P1_MuProkaron\Project\RVMDK-STM32F767IGT6-RVM-DUKTAPE\Debug\Output\VM_DUKTAPE.c
- 38
- 1
- 18
- 1
-
- 0
-
+ 19
- ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal_tim.c
- 30
- 73
- 102
+ ..\..\MEukaron\Include\Kernel/captbl.h
+ 20
+ 222
+ 259
1
0
- ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f767xx.h
- 3
- 52
- 64
+ ..\..\MEukaron\Include\Platform\CortexM\Chips\STM32F767IG\platform_STM32F767IG.sct
+ 29
+ 44
+ 83
1
0
- ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal_cortex.c
- 0
- 426
- 436
+ ..\..\MEukaron\Include\Kernel/siginv.h
+ 18
+ 1
+ 12
1
0
- ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Include\core_cm7.h
- 0
- 1838
- 1848
+ ..\..\MEukaron\Kernel\kernel.c
+ 19
+ 283
+ 312
1
0
- ..\..\MEukaron\Platform\CortexM\platform_cmx_asm.s
- 26
- 645
- 656
+ ..\..\MEukaron\Include\Kernel/kotbl.h
+ 18
+ 29
+ 30
1
0
- ..\..\MEukaron\Kernel\pgtbl.c
- 26
- 580
- 607
+ ..\..\MEukaron\Kernel\kotbl.c
+ 24
+ 28
+ 42
1
0
- ..\..\MEukaron\Kernel\prcthd.c
- 16
- 1414
- 1458
+ ..\..\MEukaron\Include\Kernel/prcthd.h
+ 82
+ 15
+ 52
1
0
- ..\..\MEukaron\Kernel\siginv.c
- 74
- 571
- 598
+ ..\..\MEukaron\Include\Kernel/pgtbl.h
+ 77
+ 91
+ 128
1
0
- ..\..\MEukaron\Kernel\captbl.c
- 49
- 502
- 521
+ ..\..\MEukaron\Include\Platform/CortexM/platform_cmx.h
+ 16
+ 75
+ 78
1
0
- ..\..\MEukaron\Include\Kernel/captbl.h
+ ..\..\MEukaron\Include\Platform/CortexM/Chips/STM32F767IG/platform_STM32F767IG.h
0
- 219
- 231
+ 9
+ 19
1
0
- ..\..\MEukaron\Platform\CortexM\platform_cmx.c
- 23
- 482
- 500
+ ..\..\MEukaron\Include\Platform/CortexM/platform_cmx_conf.h
+ 58
+ 1
+ 10
1
0
- ..\..\MEukaron\Include\Kernel/kernel.h
- 76
- 217
- 247
+ ..\..\MEukaron\Include\Platform/RME_platform.h
+ 20
+ 1
+ 9
1
0
@@ -3515,100 +3506,109 @@
0
- ..\..\MEukaron\Include\Platform/RME_platform.h
- 20
- 1
- 9
+ ..\..\MEukaron\Include\Kernel/kernel.h
+ 28
+ 89
+ 126
1
0
- ..\..\MEukaron\Include\Platform/CortexM/platform_cmx_conf.h
- 58
- 1
- 10
+ ..\..\MEukaron\Platform\CortexM\platform_cmx.c
+ 23
+ 482
+ 500
1
0
- ..\..\MEukaron\Include\Platform/CortexM/Chips/STM32F767IG/platform_STM32F767IG.h
- 0
- 9
- 19
+ ..\..\MEukaron\Kernel\captbl.c
+ 20
+ 395
+ 396
1
0
- ..\..\MEukaron\Include\Platform/CortexM/platform_cmx.h
- 44
- 468
- 503
+ ..\..\MEukaron\Kernel\siginv.c
+ 29
+ 685
+ 725
1
0
- ..\..\MEukaron\Include\Kernel/pgtbl.h
- 77
- 100
- 128
+ ..\..\MEukaron\Kernel\prcthd.c
+ 16
+ 1421
+ 1458
1
0
- ..\..\MEukaron\Include\Kernel/prcthd.h
- 23
- 140
- 141
+ ..\..\MEukaron\Kernel\pgtbl.c
+ 26
+ 580
+ 607
1
0
- ..\..\MEukaron\Kernel\kotbl.c
- 24
- 28
- 42
+ ..\..\MEukaron\Platform\CortexM\platform_cmx_asm.s
+ 26
+ 642
+ 658
1
0
- ..\..\MEukaron\Include\Kernel/kotbl.h
- 45
- 10
- 18
+ ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Include\core_cm7.h
+ 0
+ 1838
+ 1848
1
0
- ..\..\MEukaron\Kernel\kernel.c
- 25
- 165
- 195
+ ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal_cortex.c
+ 0
+ 426
+ 436
1
0
- ..\..\MEukaron\Include\Kernel/siginv.h
- 29
- 42
- 63
+ ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Device\ST\STM32F7xx\Include\stm32f767xx.h
+ 3
+ 52
+ 64
1
0
- ..\..\MEukaron\Include\Platform\CortexM\Chips\STM32F767IG\platform_STM32F767IG.sct
- 29
- 44
- 83
+ ..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Src\stm32f7xx_hal_tim.c
+ 30
+ 73
+ 102
+ 1
+
+ 0
+
+
+ ..\..\..\M5P1_MuProkaron\Project\RVMDK-STM32F767IGT6-RVM-DUKTAPE\Debug\Output\VM_DUKTAPE.c
+ 23
+ 1
+ 8
1
0
diff --git a/Project/RVMDK-STM32F767IGT6/M7M1.uvoptx b/Project/RVMDK-STM32F767IGT6/M7M1.uvoptx
index 5bd0589..f933b79 100644
--- a/Project/RVMDK-STM32F767IGT6/M7M1.uvoptx
+++ b/Project/RVMDK-STM32F767IGT6/M7M1.uvoptx
@@ -240,7 +240,7 @@
1
1
1
- 0
+ 1
0
0
..\..\MEukaron\Kernel\captbl.c
diff --git a/Project/RVMDK-STM32F767IGT6/M7M1.uvprojx b/Project/RVMDK-STM32F767IGT6/M7M1.uvprojx
index 0673bef..2079031 100644
--- a/Project/RVMDK-STM32F767IGT6/M7M1.uvprojx
+++ b/Project/RVMDK-STM32F767IGT6/M7M1.uvprojx
@@ -331,7 +331,7 @@
0
0
-
+ -Dlikely(x)="__builtin_expect(!!(x), 1)" -Dunlikely(x)="__builtin_expect(!!(x), 0)"
STM32F767xx,USE_HAL_DRIVER
..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Inc;..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Include;..\..\MEukaron\Include;..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\STM32F7xx_HAL_Driver\Inc\Conf;..\..\..\M0P0_Library\STM32Cube_FW_F7_V1.11.0\Drivers\CMSIS\Device\ST\STM32F7xx\Include