Changes to be able to build system

svn path=/trunk/; revision=359
This commit is contained in:
Rex Jolliff 1999-04-01 05:22:18 +00:00
parent 839118b9b3
commit 240b550d9c
11 changed files with 37 additions and 12 deletions

View file

@ -5,6 +5,15 @@ dashes on a line by themselves. If you implement the fix
reffered to in a message, feel free to delete it from the file. reffered to in a message, feel free to delete it from the file.
Rex *** Rex ***
----- -----
Subject: [ros-kernel] Inside the Boot Process
Date: Mon, 22 Mar 1999 22:05:47 +0100
From: Emanuele Aliberti <ea@iol.it>
For those working on the boot loader: in WinNt Magazine november 1998
issue (http://www.winntmag.com/) there is a detailed description, by
Mark Russinovich, of the rôle the MBR, NTLDR, boot.ini, ntdetect.com...
play in the boot process ("Inside the Boot Process, Part 1").
-----
Yes with DPCs, KeDrainDpcQueue should go to HIGH_LEVEL because Yes with DPCs, KeDrainDpcQueue should go to HIGH_LEVEL because
it needs to synchronize with KeInsertDpcQueue. Also the idle thread it needs to synchronize with KeInsertDpcQueue. Also the idle thread
should run at DISPATCH_LEVEL and regularly drain the dpc queue, that should run at DISPATCH_LEVEL and regularly drain the dpc queue, that

View file

@ -1,6 +1,7 @@
#include <internal/mmhal.h> #include <internal/mmhal.h>
#include <internal/halio.h> #include <internal/halio.h>
#include <internal/hal/page.h>
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <string.h> #include <string.h>
#include <internal/string.h> #include <internal/string.h>

View file

@ -465,8 +465,10 @@ typedef enum _TOKEN_INFORMATION_CLASS {
#define INDEXTOSTATEIMAGEMASK(i) ((i) << 12) #define INDEXTOSTATEIMAGEMASK(i) ((i) << 12)
#ifdef UNICODE #ifdef UNICODE
#define _T(quote) L##quote
#define TEXT(quote) L##quote #define TEXT(quote) L##quote
#else #else
#define _T(quote) L##quote
#define TEXT(quote) quote #define TEXT(quote) quote
#endif #endif

View file

@ -2,8 +2,8 @@
* Lowlevel memory managment definitions * Lowlevel memory managment definitions
*/ */
#ifndef __INTERNAL_HAL_PAGE_H #ifndef __INTERNAL_HAL_I386_MMHAL_H
#define __INTERNAL_HAL_PAGE_H #define __INTERNAL_HAL_I386_MMHAL_H
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
@ -60,4 +60,4 @@ VOID MmSetPageProtect(PEPROCESS Process,
ULONG flProtect); ULONG flProtect);
BOOLEAN MmIsPagePresent(PEPROCESS Process, PVOID Address); BOOLEAN MmIsPagePresent(PEPROCESS Process, PVOID Address);
#endif /* __INTERNAL_HAL_PAGE_H */ #endif /* __INTERNAL_HAL_I386_MMHAL_H */

View file

@ -2,9 +2,12 @@
* Some useful things * Some useful things
*/ */
//#define NULL ((void*)0) #ifndef _INTERNAL_STDDEF_H
#define _INTERNAL_STDDEF_H
#ifndef NULL #ifndef NULL
#define NULL (0) #define NULL (0)
#endif #endif
#endif

View file

@ -5,6 +5,10 @@
#include <internal/types.h> #include <internal/types.h>
#endif #endif
#ifndef _INTERNAL_STDDEF_H
#include <internal/stddef.h>
#endif
/* /*
* On a 486 or Pentium, we are better off not using the * On a 486 or Pentium, we are better off not using the
* byte string operations. But on a 386 or a PPro the * byte string operations. But on a 386 or a PPro the

View file

@ -0,0 +1,7 @@
#ifndef _LINUX_TYPES_H
#define _LINUX_TYPES_H
typedef unsigned int size_t;
#endif

View file

@ -44,7 +44,7 @@ DeviceIoControl(
bFsIoControlCode = TRUE; bFsIoControlCode = TRUE;
else else
bFsIoControlCode = FALSE; bFsIoControlCode = FALSE;
CHECKPOINT // CHECKPOINT
if(lpOverlapped != NULL) { if(lpOverlapped != NULL) {
hEvent = lpOverlapped->hEvent; hEvent = lpOverlapped->hEvent;
lpOverlapped->Internal = STATUS_PENDING; lpOverlapped->Internal = STATUS_PENDING;
@ -54,13 +54,13 @@ CHECKPOINT
IoStatusBlock = &IIosb; IoStatusBlock = &IIosb;
} }
CHECKPOINT // CHECKPOINT
if(bFsIoControlCode == TRUE) { if(bFsIoControlCode == TRUE) {
errCode = NtFsControlFile(hDevice,hEvent,NULL,NULL,IoStatusBlock,dwIoControlCode,lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize ); errCode = NtFsControlFile(hDevice,hEvent,NULL,NULL,IoStatusBlock,dwIoControlCode,lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize );
} else { } else {
errCode = NtDeviceIoControlFile(hDevice,hEvent,NULL,NULL,IoStatusBlock,dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize); errCode = NtDeviceIoControlFile(hDevice,hEvent,NULL,NULL,IoStatusBlock,dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize);
} }
CHECKPOINT // CHECKPOINT
if(errCode == STATUS_PENDING ) { if(errCode == STATUS_PENDING ) {
if(NtWaitForSingleObject(hDevice,FALSE,NULL) < 0) { if(NtWaitForSingleObject(hDevice,FALSE,NULL) < 0) {
@ -73,12 +73,12 @@ CHECKPOINT
SetLastError(RtlNtStatusToDosError(errCode)); SetLastError(RtlNtStatusToDosError(errCode));
return FALSE; return FALSE;
} }
CHECKPOINT // CHECKPOINT
if (lpOverlapped) if (lpOverlapped)
*lpBytesReturned = lpOverlapped->InternalHigh; *lpBytesReturned = lpOverlapped->InternalHigh;
else else
*lpBytesReturned = IoStatusBlock->Information; *lpBytesReturned = IoStatusBlock->Information;
CHECKPOINT // CHECKPOINT
return TRUE; return TRUE;
} }

View file

@ -19,7 +19,7 @@ include rules.mak
# #
# Required to run the system # Required to run the system
# #
COMPONENTS = iface_native ntoskrnl kernel32 ntdll COMPONENTS = iface_native ntoskrnl ntdll kernel32
# crtdll mingw32 # crtdll mingw32
# #

View file

@ -37,7 +37,6 @@
#include <ddk/ntddk.h> #include <ddk/ntddk.h>
#include <internal/ke.h> #include <internal/ke.h>
#include <string.h>
#include <internal/string.h> #include <internal/string.h>
#define NDEBUG #define NDEBUG

View file

@ -144,5 +144,5 @@ ex/napi.o: ex/napi.c ../include/ntdll/napi.h
#WITH_DEBUGGING = yes #WITH_DEBUGGING = yes
WIN32_LEAN_AND_MEAN = yes WIN32_LEAN_AND_MEAN = yes
WARNINGS_ARE_ERRORS = yes #WARNINGS_ARE_ERRORS = yes
include ../rules.mak include ../rules.mak