Refactoring started!

This commit is contained in:
hyperassembler 2014-09-24 00:00:01 -04:00
parent b157087658
commit 355ca2e38e
13 changed files with 56 additions and 74 deletions

View File

@ -1,8 +0,0 @@
#ifndef _type_h_
#define _type_h_
typedef unsigned int UINT32, *PUINT32
typedef unsigned short UINT16, *PUINT16
typedef unsigned long UINT64, *PUINT64
typedef unsigned char BYTE, *PBYTE
typedef BYTE CHAR, *PCHAR
#endif

23
kalib/io32.asm Normal file
View File

@ -0,0 +1,23 @@
global _HkWritePort32 ; void HkWritePort32(uint16 port ,uint16 data)
push ebp
mov ebp,esp
mov edx,[ ebp + 8 ]
mov eax,[ ebp + 12 ]
out dx,ax
nop
nop
mov esp,ebp
pop ebp
ret
global _HkReadPort32 ; void HkWritePort32(uint16 port ,uint16 data)
push ebp
mov ebp,esp
mov edx,[ ebp + 8]
mov eax,[ ebp + 12]
in ax,dx
nop
nop
mov esp,ebp
pop ebp
ret

View File

@ -1,59 +0,0 @@
#ifndef _KeDef_h_
#define _KeDef_h_
// calling conventions
#define HYPKERNELAPI _cdecl
#define _OPTIONAL_
#define _IN_
#define _OUT_
// null pointer
#define NULL ((void*)0)
//Struct Naming:
//AAXXXXBB
//AA: Identifier
//BB: 32 or 64 bits
//XXXX: Name
typedef unsigned int ULONG32,*PULONG32;
typedef unsigned int DWORD,*PDWORD;
typedef unsigned long long QWORD,*PQWORD;
typedef unsigned long long ULONG64,*PULONG64;
typedef unsigned char ULONG8,*PULONG8;
typedef unsigned char BYTE,*PBYTE;
typedef unsigned short ULONG16,*PULONG16;
typedef void VOID,*PVOID;
typedef char CHAR,*PCHAR;
#define GDT_SELECTOR(Index,RPL) (((Index) << 3) + (RPL))
#define GDT_SELECTOR_DUMMY GDT_SELECTOR(0,0)
#define GDT_SELECTOR_GRAPH GDT_SELECTOR(1,0)
#define GDT_SELECTOR_CODE GDT_SELECTOR(2,0)
#define GDT_SELECTOR_DATA GDT_SELECTOR(3,0)
#define GDT_SELECTOR_USER_DATA GDT_SELECTOR(4,3)
#define GDT_SELECTOR_USER_CODE GDT_SELECTOR(5,3)
#define GDT_SELECTOR_LDT GDT_SELECTOR(6,0)
#define GDT_SELECTOR_TSS GDT_SELECTOR(7,0)
#define GDT_INDEX_DUMMY 0
#define GDT_INDEX_GRAPH 1
#define GDT_INDEX_CODE 2
#define GDT_INDEX_DATA 3
#define GDT_INDEX_USER_CODE 4
#define GDT_INDEX_USER_DATA 5
#define GDT_INDEX_LDT 6
#define GDT_INDEX_TSS 7
#define KeKernelPhysicalAddress 0x30000
#define KeLoaderPhysicalAddress 0x90000
#define KeBootPhysicalAddress 0x07c00
#define KePDEBase 0x100000
#define KePTEBase 0x101000
#define GDT_DESCRIPTOR_NUMBER 128
#define IDT_GATE_NUMBER 256
#define MAXIMUM_PROCESS_NUMBER 1
#define PROCESS_STACK_MAX_SIZE 1024
#endif

View File

@ -1,7 +1,7 @@
#ifndef _KeIO32_h_
#define _KeIO32_h_
#include "KeDef.h"
#include "hkdef32.h"
#include "KeGlobalVariables.h"
#include "KeCPUStruct32.h"
#include "KeKernelStruct32.h"
@ -12,7 +12,7 @@
typedef VOID (*PExceptionHandler)(VOID);
VOID HYPKERNELAPI _asm_KeWritePort(_IN_ ULONG16 Port, _IN_ ULONG8 Value);
void HKA32 _asm_KeWritePort(_IN_ ULONG16 Port, _IN_ ULONG8 Value);
ULONG8 HYPKERNELAPI _asm_KeReadPort(_IN_ ULONG16 Port);
VOID HYPKERNELAPI _asm_KeLoadIDT(VOID);
VOID HYPKERNELAPI KeInit8259A(VOID);

View File

@ -1,5 +0,0 @@
#ifndef _KeMemoryManager32_h_
#define _KeMemoryManager32_h_
#endif

9
kclib/header/io32.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef _IO32_H_
#define _IO32_H_
#include "type32.h"
extern void HkWritePort(uint16 port, uint16 data);
extern void HkReadPort(uint16 port, uint16 data);
#endif

11
kclib/header/kdef32.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef _HKDEF32_H_
#define _HKDEF32_H_
#define HKA32 _cdecl
#define NULL ((void*)0)
#define GDT_SELECTOR(Index,RPL) (((Index) << 3) + (RPL))
#define HKernelAddress (0x01000000)
#endif

11
kclib/header/type32.h Normal file
View File

@ -0,0 +1,11 @@
#ifndef _TYPE_H_
#define _TYPE_H_
typedef unsigned int uint32;
typedef unsigned short uint16;
typedef unsigned long long uint64;
typedef unsigned char uint8;
typedef int int32;
typedef short int16;
typedef long long int64;
typedef char int8;
#endif

0
kclib/source/intr32.c Normal file
View File

0
kclib/source/io32.c Normal file
View File

0
kclib/source/mem32.c Normal file
View File

0
kclib/source/proc32.c Normal file
View File