mirror of
https://github.com/reactos/reactos.git
synced 2025-06-28 06:59:42 +00:00
Changes to be able to build system
svn path=/trunk/; revision=359
This commit is contained in:
parent
839118b9b3
commit
240b550d9c
11 changed files with 37 additions and 12 deletions
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
|
||||||
|
#ifndef _LINUX_TYPES_H
|
||||||
|
#define _LINUX_TYPES_H
|
||||||
|
|
||||||
|
typedef unsigned int size_t;
|
||||||
|
|
||||||
|
#endif
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
#
|
#
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue