Implement ArLoadLocalDescriptorTable() routine
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
This commit is contained in:
parent
dfae0b4727
commit
c5a9253ea8
@ -44,6 +44,10 @@ XTCDECL
|
|||||||
VOID
|
VOID
|
||||||
ArLoadInterruptDescriptorTable(IN PVOID Source);
|
ArLoadInterruptDescriptorTable(IN PVOID Source);
|
||||||
|
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArLoadLocalDescriptorTable(IN USHORT Source);
|
||||||
|
|
||||||
XTCDECL
|
XTCDECL
|
||||||
VOID
|
VOID
|
||||||
ArLoadMxcsrRegister(IN ULONG Source);
|
ArLoadMxcsrRegister(IN ULONG Source);
|
||||||
|
@ -44,6 +44,10 @@ XTCDECL
|
|||||||
VOID
|
VOID
|
||||||
ArLoadInterruptDescriptorTable(IN PVOID Source);
|
ArLoadInterruptDescriptorTable(IN PVOID Source);
|
||||||
|
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArLoadLocalDescriptorTable(IN USHORT Source);
|
||||||
|
|
||||||
XTCDECL
|
XTCDECL
|
||||||
VOID
|
VOID
|
||||||
ArLoadSegment(IN USHORT Segment,
|
ArLoadSegment(IN USHORT Segment,
|
||||||
|
@ -102,7 +102,7 @@ ArInvalidateTlbEntry(IN PVOID Address)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the values in the source operand into the global descriptor table register (GDTR).
|
* Loads the value in the source operand into the global descriptor table register (GDTR).
|
||||||
*
|
*
|
||||||
* @param Source
|
* @param Source
|
||||||
* Specifies a memory location that contains the base address of GDT.
|
* Specifies a memory location that contains the base address of GDT.
|
||||||
@ -122,7 +122,7 @@ ArLoadGlobalDescriptorTable(IN PVOID Source)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the values in the source operand into the interrupt descriptor table register (IDTR).
|
* Loads the value in the source operand into the interrupt descriptor table register (IDTR).
|
||||||
*
|
*
|
||||||
* @param Source
|
* @param Source
|
||||||
* Specifies a memory location that contains the base address of IDT.
|
* Specifies a memory location that contains the base address of IDT.
|
||||||
@ -141,6 +141,25 @@ ArLoadInterruptDescriptorTable(IN PVOID Source)
|
|||||||
: "memory");
|
: "memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads the value in the source operand into the local descriptor table register (LDTR).
|
||||||
|
*
|
||||||
|
* @param Source
|
||||||
|
* Specifies a selector value.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArLoadLocalDescriptorTable(IN USHORT Source)
|
||||||
|
{
|
||||||
|
asm volatile("lldtw %0"
|
||||||
|
:
|
||||||
|
: "g" (Source));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the value in the source operand into the MXCSR register
|
* Loads the value in the source operand into the MXCSR register
|
||||||
*
|
*
|
||||||
|
@ -102,7 +102,7 @@ ArInvalidateTlbEntry(PVOID Address)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the values in the source operand into the global descriptor table register (GDTR).
|
* Loads the value in the source operand into the global descriptor table register (GDTR).
|
||||||
*
|
*
|
||||||
* @param Source
|
* @param Source
|
||||||
* Specifies a memory location that contains the base address of GDT.
|
* Specifies a memory location that contains the base address of GDT.
|
||||||
@ -122,7 +122,7 @@ ArLoadGlobalDescriptorTable(IN PVOID Source)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads the values in the source operand into the interrupt descriptor table register (IDTR).
|
* Loads the value in the source operand into the interrupt descriptor table register (IDTR).
|
||||||
*
|
*
|
||||||
* @param Source
|
* @param Source
|
||||||
* Specifies a memory location that contains the base address of IDT.
|
* Specifies a memory location that contains the base address of IDT.
|
||||||
@ -141,6 +141,25 @@ ArLoadInterruptDescriptorTable(IN PVOID Source)
|
|||||||
: "memory");
|
: "memory");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Loads the value in the source operand into the local descriptor table register (LDTR).
|
||||||
|
*
|
||||||
|
* @param Source
|
||||||
|
* Specifies a selector value.
|
||||||
|
*
|
||||||
|
* @return This routine does not return any value.
|
||||||
|
*
|
||||||
|
* @since XT 1.0
|
||||||
|
*/
|
||||||
|
XTCDECL
|
||||||
|
VOID
|
||||||
|
ArLoadLocalDescriptorTable(IN USHORT Source)
|
||||||
|
{
|
||||||
|
asm volatile("lldtw %0"
|
||||||
|
:
|
||||||
|
: "g" (Source));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Loads source data into specified segment.
|
* Loads source data into specified segment.
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user