[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 02/11] kernel2: TRUE/FALSE durch true/false ersetzen
! bool: Standard C Bezeichner für Boolean-Werte
Signed-off-by: Andreas Freimuth <m.nemo@xxxxxxx>
---
src/kernel2/src/arch/amd64/im/im.c | 126 ++++++++++++++--------------
src/kernel2/src/arch/amd64/mm/mm_context.c | 68 ++++++++--------
src/kernel2/src/arch/amd64/mm/mm_virt.c | 6 +-
3 files changed, 100 insertions(+), 100 deletions(-)
diff --git a/src/kernel2/src/arch/amd64/im/im.c b/src/kernel2/src/arch/amd64/im/im.c
index 2056524..a20bab1 100644
--- a/src/kernel2/src/arch/amd64/im/im.c
+++ b/src/kernel2/src/arch/amd64/im/im.c
@@ -44,43 +44,43 @@
#define IDT_GATE_COUNT 256
#define IDT_GATE_TYPE_INT 0xE
#define IDT_GATE_TYPE_TRAP 0xF
-
-typedef struct {
- /// Die untersten 16 Bits der Handler-Adresse
- uint16_t offset_low;
- /// Code-Segment-Selektor
- uint16_t segment;
-
- /// ID des Stack-Table-Eintrages
- uint8_t interrupt_stack_table : 3;
- /// Reserviert
- uint8_t : 5;
- /// Typ des Gates
- uint8_t type : 4;
- /// Reserviert
- uint8_t : 1;
- /// Noetiges Privileg-Level um den Handler aufrufen zu duerfen
- uint8_t privilege_level : 2;
- /// Bestimmt, ob das Gate praesent
- bool present : 1;
-
- /// Die naechsten paar Bits der Adresse
- uint16_t offset_mid;
- uint32_t offset_high;
-
- /// Reserviert
- uint32_t : 32;
-
-} __attribute__((packed)) idt_gate_t;
-
+
+typedef struct {
+ /// Die untersten 16 Bits der Handler-Adresse
+ uint16_t offset_low;
+ /// Code-Segment-Selektor
+ uint16_t segment;
+
+ /// ID des Stack-Table-Eintrages
+ uint8_t interrupt_stack_table : 3;
+ /// Reserviert
+ uint8_t : 5;
+ /// Typ des Gates
+ uint8_t type : 4;
+ /// Reserviert
+ uint8_t : 1;
+ /// Noetiges Privileg-Level um den Handler aufrufen zu duerfen
+ uint8_t privilege_level : 2;
+ /// Bestimmt, ob das Gate praesent
+ bool present : 1;
+
+ /// Die naechsten paar Bits der Adresse
+ uint16_t offset_mid;
+ uint32_t offset_high;
+
+ /// Reserviert
+ uint32_t : 32;
+
+} __attribute__((packed)) idt_gate_t;
+
// Die ganze IDT (Achtung wird auch aus dem SMP-Trampoline-Code geladen!)
-idt_gate_t idt[IDT_GATE_COUNT];
-bool use_apic;
-
-static void idt_set_gate(size_t interrupt, vaddr_t handler, uint8_t privilege_level);
-
-// Die ASM-Stubs
-extern void im_int_stub_0();
+idt_gate_t idt[IDT_GATE_COUNT];
+bool use_apic;
+
+static void idt_set_gate(size_t interrupt, vaddr_t handler, uint8_t privilege_level);
+
+// Die ASM-Stubs
+extern void im_int_stub_0();
extern void im_int_stub_1();
extern void im_int_stub_2();
extern void im_int_stub_3();
@@ -599,24 +599,24 @@ void im_init()
idt_set_gate(254, &im_int_stub_254, 0);
idt_set_gate(255, &im_int_stub_255, 0);
- use_apic = TRUE;
+ use_apic = true;
}
/**
* Die IDT laden und Interrupts aktivieren.
*/
void im_enable()
-{
- // Register zum laden der IDT vorbereiten
- struct {
- uint16_t size;
- uint64_t base;
- } __attribute__((packed)) idt_ptr = {
- .size = IDT_GATE_COUNT * sizeof(idt_gate_t) - 1,
- .base = (uint64_t)idt,
- };
-
- asm("lidt %0" : : "m" (idt_ptr));
+{
+ // Register zum laden der IDT vorbereiten
+ struct {
+ uint16_t size;
+ uint64_t base;
+ } __attribute__((packed)) idt_ptr = {
+ .size = IDT_GATE_COUNT * sizeof(idt_gate_t) - 1,
+ .base = (uint64_t)idt,
+ };
+
+ asm("lidt %0" : : "m" (idt_ptr));
}
/**
@@ -624,13 +624,13 @@ void im_enable()
*
* @param interrupt Interrupt-Nummer
* @param handler Pointer auf die Handerfunktion.
- * @param privilege_level Bestimmt ob der Interrup fuer den Kernel- (0) oder
- * fuer den User-Ring (3) bestimmt ist.
- */
-static void idt_set_gate(size_t interrupt, vaddr_t handler, uint8_t privilege_level)
-{
- // Handler-Adresse
- uintptr_t uint_handler = (uintptr_t) handler;
+ * @param privilege_level Bestimmt ob der Interrup fuer den Kernel- (0) oder
+ * fuer den User-Ring (3) bestimmt ist.
+ */
+static void idt_set_gate(size_t interrupt, vaddr_t handler, uint8_t privilege_level)
+{
+ // Handler-Adresse
+ uintptr_t uint_handler = (uintptr_t) handler;
idt[interrupt].offset_low = uint_handler & 0xFFFF;
idt[interrupt].offset_mid = (uint_handler >> 16) & 0xFFFF;
idt[interrupt].offset_high = uint_handler >> 32;
@@ -638,19 +638,19 @@ static void idt_set_gate(size_t interrupt, vaddr_t handler, uint8_t privilege_le
// TODO: Segment gehoert hier nicht hartkodiert hin
idt[interrupt].segment = 0x8;
idt[interrupt].type = IDT_GATE_TYPE_TRAP;
- idt[interrupt].present = TRUE;
+ idt[interrupt].present = true;
idt[interrupt].privilege_level = privilege_level;
}
/**
* Muss vom plattformunabhaengigen Handler aufgerufen werden.
- *
- * @param interrupt Interruptnummer
- */
-void im_end_of_interrupt(uint8_t interrupt)
-{
- // Nur mit dem traditionellen PIC
- if (use_apic == FALSE) {
+ *
+ * @param interrupt Interruptnummer
+ */
+void im_end_of_interrupt(uint8_t interrupt)
+{
+ // Nur mit dem traditionellen PIC
+ if (use_apic == false) {
if ((interrupt >= IM_IRQ_BASE) && (interrupt <= IM_IRQ_BASE + 16)) {
pic_eoi(interrupt - IM_IRQ_BASE);
}
diff --git a/src/kernel2/src/arch/amd64/mm/mm_context.c b/src/kernel2/src/arch/amd64/mm/mm_context.c
index b6d5274..fed401d 100644
--- a/src/kernel2/src/arch/amd64/mm/mm_context.c
+++ b/src/kernel2/src/arch/amd64/mm/mm_context.c
@@ -49,7 +49,7 @@
*/
/// Bestimmt ob das NX-Bit benutzt werden soll.
-bool mmc_use_no_exec = FALSE;
+bool mmc_use_no_exec = false;
/**
@@ -122,7 +122,7 @@ static void pm_free(mmc_pm_entry_t* pm)
*
* @param pm Pointer auf die Pagemap. Dieser muss gemappt sein. Am besten mit
* pm_get.
- * @param create Wenn TRUE, werden nicht existierende PDPTs erstellt und
+ * @param create Wenn true, werden nicht existierende PDPTs erstellt und
* gemappt.
* @param user Wenn die pdpt erstellt werden muss, bestimmt dieser Parameter ob
* die pdpt fuer den Usermode bestimmt ist, oder nicht.
@@ -138,7 +138,7 @@ static mmc_pdpt_entry_t* pdpt_get(mmc_pm_entry_t* pm,
return vmm_kernel_automap((paddr_t) (pm[index] & PAGE_MASK),
PAGE_SIZE);
} else {
- if (create == TRUE) {
+ if (create == true) {
// Speicher allozieren
paddr_t phys = pmm_alloc(1);
mmc_pdpt_entry_t* pdpt = vmm_kernel_automap(phys, PAGE_SIZE);
@@ -176,7 +176,7 @@ static mmc_pd_entry_t* pd_get(mmc_pdpt_entry_t* pdpt, size_t index,
return vmm_kernel_automap((paddr_t) (pdpt[index] & PAGE_MASK),
PAGE_SIZE);
} else {
- if (create == TRUE) {
+ if (create == true) {
// Speicher allozieren
paddr_t phys = pmm_alloc(1);
mmc_pd_entry_t* pd = vmm_kernel_automap(phys, PAGE_SIZE);
@@ -216,7 +216,7 @@ static mmc_pt_entry_t* pt_get(mmc_pd_entry_t* pd, size_t index, bool create,
return vmm_kernel_automap((paddr_t) (pd[index] & PAGE_MASK),
PAGE_SIZE);
} else {
- if ((create == TRUE) && ((pd[index] & 1) == 0)) {
+ if ((create == true) && ((pd[index] & 1) == 0)) {
// Speicher allozieren
paddr_t phys = pmm_alloc(1);
mmc_pt_entry_t* pt = vmm_kernel_automap(phys, PAGE_SIZE);
@@ -251,7 +251,7 @@ static void pt_free(mmc_pt_entry_t* pt)
*
* @param context Kontext aus dem das PD kommen soll
* @param address Adresse ahnand welcher das PD gesucht werden soll
- * @param create TRUE wenn die Strukturen erstellt werden sollen, FALSE wenn
+ * @param create true wenn die Strukturen erstellt werden sollen, false wenn
* nicht.
* @param user Wenn Stukturen erstellt werden, kann hiermit bestimmt werden, ob
* fuer den Usermode bestimmt sein sollen.
@@ -290,7 +290,7 @@ static mmc_pd_entry_t* pd_get_from_context(mmc_context_t context,
*
* @param context Kontext aus dem die Page table kommen soll
* @param address Adresse ahnand welcher die Page table gesucht werden soll
- * @param create TRUE wenn die Strukturen erstellt werden sollen, FALSE wenn
+ * @param create true wenn die Strukturen erstellt werden sollen, false wenn
* nicht.
* @param user Wenn Stukturen erstellt werden, kann hiermit bestimmt werden, ob
* fuer den Usermode bestimmt sein sollen.
@@ -338,36 +338,36 @@ static mmc_pt_entry_t* pt_get_from_context(mmc_context_t context,
* @param paddr Physische Speicheradresse
* @param flags Flags, die gesetzt werden sollen
*
- * @return TRUE, wenn die virtuelle Seite erfolgreich gemappt werden konnte,
- * FALSE sonst.
+ * @return true, wenn die virtuelle Seite erfolgreich gemappt werden konnte,
+ * false sonst.
*/
static bool map_page
(mmc_context_t context, vaddr_t vaddr, paddr_t paddr, int flags)
{
//kprintf("map 0x%16x => 0x%16x\n", vaddr, paddr);
- bool big_page = FALSE;
- bool user_page = FALSE;
+ bool big_page = false;
+ bool user_page = false;
uint64_t internal_flags = flags;
if ((flags & PAGE_FLAGS_BIG) != 0) {
- big_page = TRUE;
+ big_page = true;
}
// Die NULL-Page bleibt aus Sicherheitsgruenden ungemappt
if (vaddr == NULL) {
panic("Versuchtes Mapping nach virtuell NULL");
- return FALSE;
+ return false;
}
// Die Adressen muessen beide auf 4K ausgerichtet sein.
if ((((((uintptr_t) vaddr | (uintptr_t) paddr)) % PAGE_SIZE) != 0) &&
- (big_page == FALSE))
+ (big_page == false))
{
panic("Adressen sind nicht 4K-aligned (virt = %x, phys = %x)",
vaddr, paddr);
- return FALSE;
+ return false;
} else if ((((((uintptr_t) vaddr | (uintptr_t) paddr)) % (PAGE_SIZE * 512))
- != 0) && (big_page == TRUE))
+ != 0) && (big_page == true))
{
panic("Adressen sind nicht 4M-aligned (virt = %x, phys = %x)",
vaddr, paddr);
@@ -375,16 +375,16 @@ static bool map_page
// TODO:Flags pruefen.
if ((internal_flags & PAGE_FLAGS_USER) != 0) {
- user_page = TRUE;
+ user_page = true;
}
// Wenn das Nx-Bit gesetzt ist aber nicht benutzt werden darf, wird es
// geloescht. Sonst wird das richtige NX-Bit gesetzt.
- if ((mmc_use_no_exec == FALSE) && ((internal_flags & PAGE_FLAGS_NO_EXEC) !=
+ if ((mmc_use_no_exec == false) && ((internal_flags & PAGE_FLAGS_NO_EXEC) !=
0))
{
internal_flags &= ~PAGE_FLAGS_NO_EXEC;
- } else if ((mmc_use_no_exec == TRUE) && ((internal_flags &
+ } else if ((mmc_use_no_exec == true) && ((internal_flags &
PAGE_FLAGS_NO_EXEC) != 0))
{
internal_flags &= ~PAGE_FLAGS_NO_EXEC;
@@ -392,8 +392,8 @@ static bool map_page
}
// Ab hier wird zwischen grossen und kleinen Pages unterschieden
- if (big_page == TRUE) {
- mmc_pd_entry_t* pd = pd_get_from_context(context, vaddr, TRUE,
+ if (big_page == true) {
+ mmc_pd_entry_t* pd = pd_get_from_context(context, vaddr, true,
user_page);
size_t index = PAGE_DIRECTORY_INDEX((uintptr_t) vaddr);
@@ -410,14 +410,14 @@ static bool map_page
pd_free(pd);
} else {
// PT anfordern, oder sie ggf. erstellen
- mmc_pt_entry_t* pt = pt_get_from_context(context, vaddr, TRUE,
+ mmc_pt_entry_t* pt = pt_get_from_context(context, vaddr, true,
user_page);
size_t index = PAGE_TABLE_INDEX((uintptr_t) vaddr);
// Wenn sie nicht angefordert werden konnte, ist der eintrag im PD
// durch eine Grosse Page belegt.
if (pt == NULL) {
panic("Doppelbelegung im Page Directory. (0x%lx)", (uintptr_t) vaddr);
- return FALSE;
+ return false;
}
// Wenn der entsprechende Eintrag in der PT nicht frei ist, wird auch
@@ -427,7 +427,7 @@ static bool map_page
panic("Doppelbelegung in einer Page Table. (0x%08x%08x => 0x%08x%08x)",
((uintptr_t) vaddr) >> 32, ((uintptr_t) vaddr) & 0xFFFFFFFF,
((uintptr_t) paddr) >> 32, ((uintptr_t) paddr) & 0xFFFFFFFF);
- return FALSE;
+ return false;
}
// Wenn alles gut gelaufen ist, wirds jetzt ernst
@@ -436,7 +436,7 @@ static bool map_page
pt_free(pt);
}
- return TRUE;
+ return true;
}
/**
@@ -453,8 +453,8 @@ static bool map_page
* @param flags Flags
* @param num Anzahl der Seiten
*
- * @return TRUE, wenn der bereich erfolgreich gemappt werden konnte,
- * FALSE sonst
+ * @return true, wenn der bereich erfolgreich gemappt werden konnte,
+ * false sonst
*/
bool mmc_map(mmc_context_t context, vaddr_t vaddr, paddr_t paddr,
int flags, size_t num_pages)
@@ -475,14 +475,14 @@ bool mmc_map(mmc_context_t context, vaddr_t vaddr, paddr_t paddr,
va = (vaddr_t)((uintptr_t)vaddr + i * PAGE_SIZE * page_count);
pa = (paddr_t)((uintptr_t)paddr + i * PAGE_SIZE * page_count);
- if(map_page(context, va, pa, flags) != TRUE)
+ if(map_page(context, va, pa, flags) != true)
{
/* TODO: Das bereits geschehene Mapping r�gig machen */
- return FALSE;
+ return false;
}
}
- return TRUE;
+ return true;
}
/**
@@ -492,8 +492,8 @@ bool mmc_map(mmc_context_t context, vaddr_t vaddr, paddr_t paddr,
* Adresse bezieht
* @param vaddr Virtuelle Speicheradresse
*
- * @return TRUE, wenn die virtuelle Seite erfolgreich ungemappt werden konnte,
- * FALSE sonst
+ * @return true, wenn die virtuelle Seite erfolgreich ungemappt werden konnte,
+ * false sonst
*/
bool mmc_unmap(mmc_context_t context, vaddr_t vaddr, size_t count)
{
@@ -502,11 +502,11 @@ bool mmc_unmap(mmc_context_t context, vaddr_t vaddr, size_t count)
/*for (i = 0; i < count; i++) {
if (!unmap_page(page_directory, vaddr + i * PAGE_SIZE)) {
- return FALSE;
+ return false;
}
}*/
- return TRUE;
+ return true;
}
diff --git a/src/kernel2/src/arch/amd64/mm/mm_virt.c b/src/kernel2/src/arch/amd64/mm/mm_virt.c
index 544b8cb..2b2e9c3 100644
--- a/src/kernel2/src/arch/amd64/mm/mm_virt.c
+++ b/src/kernel2/src/arch/amd64/mm/mm_virt.c
@@ -63,9 +63,9 @@ void vmm_init(mmc_context_t context)
// Wenn das entsprechende Bit gesetzt ist, duerfen wir es gefahrlos
// benutzen.
if ((features & (1 << 20)) != 0) {
- mmc_use_no_exec = TRUE;
+ mmc_use_no_exec = true;
} else {
- mmc_use_no_exec = FALSE;
+ mmc_use_no_exec = false;
}
// Den Kernel mappen
@@ -100,7 +100,7 @@ void vmm_init(mmc_context_t context)
void vmm_init_local(mmc_context_t context)
{
// NXE aktivieren.
- if (mmc_use_no_exec == TRUE) {
+ if (mmc_use_no_exec == true) {
cpu_write_msr(0xC0000080, cpu_read_msr(0xC0000080) | (1 << 11));
}
--
1.7.3.4