Commit graph

29970 commits

Author SHA1 Message Date
Dmitry Chapyshev b730023197 - Fix typo (part 1/2)
svn path=/trunk/; revision=32660
2008-03-11 16:39:58 +00:00
ReactOS Portable Systems Group a31f9d1367 - Convert all Loader Block structures to virtual addresses (By adding KSEG0_BASE) since the kernel eventually unmaps the page table responsible for the physical->virtual identity mapping, but we'll still need to access the loader block.
- Implement proper trap prolog/epilog code -- currently used and tested in the data abort handler. Currently hacked away some KTRAP_FRAME stuff on ARM.
- The data abort handler has a very rudimentary check to detect page faults and will call MmAccessFaults, this means we now support paged pool!
- We now succesfully go past MmInitSystem and go all the way until ObInitSystem (still in Phase 0).


svn path=/trunk/; revision=32659
2008-03-11 16:13:43 +00:00
Dmitry Chapyshev f5402d88df - Fix build
svn path=/trunk/; revision=32658
2008-03-11 16:13:26 +00:00
Aleksey Bragin be684e0471 - Remove kilobyte of unneeded MS support database text copypaste.
- Rename and add two application compatibility flags to W32THREADINFO structure (one for ancient compat flags, and one for a bit more modern flags).
- Implement GetAppCompatFlags2() too.

svn path=/trunk/; revision=32657
2008-03-11 15:58:31 +00:00
Dmitry Chapyshev e121cc7e3d - Rewrite input.dll
- Delete unused resources
- Update all languages

svn path=/trunk/; revision=32656
2008-03-11 15:52:27 +00:00
ReactOS Portable Systems Group f955e35cab - We missed this one -- fix the x86 build.
svn path=/trunk/; revision=32655
2008-03-11 06:05:57 +00:00
ReactOS Portable Systems Group 3d10a2eabc - Forgot to commit previous HAL changes.
- There is no reason to implement the Interlocked* APIs in assembly in the kernel -- just have them call the intrinsics.
- Also fix the way we were overloading the exported APIs, we now use the intrinsics all the time.
- Convert loader block address to virtual, and parse the addresses inside it and convert them to virtual too, after we don't use them in FreeLDR anymore -- the kernel will delete the p->v identity mapping, and eventually still need to touch the loader block.
- Implement MmGetPhysicalAddress and MiGetUserPageDirectoryCount for ARM.
- We now reach the point where we start initializing the boot drivers' memory information.

svn path=/trunk/; revision=32654
2008-03-11 04:42:54 +00:00
ReactOS Portable Systems Group a6b9a98b82 - Fix incorrect definition of PCR and USERPCR which was making us incorrect memory.
- Fix incorrect definition of ARM_CONTROL_REGISTER, which was stopping us from correctly enabling High Vectors.
- The RtlCaptureStackLimits and RtlWakeChainFrame routines in libsupp.c cannot possibly be portable across all architectures -- separated ARM versions in an arm directory.
- Setup the panic stack for abort/undefined exceptions, and the interrupt stack for FIQs.
- Implement support for exceptions! We can now display the address which caused a data abort, and begin handling exceptions.
- Implement all the HAL Spinlock/IRQL functions except KfRaise/LowerIrql which actually do the work.
- We're booting all the way to setting up the user_shared_data memory area.

svn path=/trunk/; revision=32653
2008-03-11 02:45:13 +00:00
Magnus Olsen cfb18d14ea part 2/2 for implement GetAppCompatFlags
left todo implemented set AppCompatFlags 

svn path=/trunk/; revision=32652
2008-03-11 00:09:23 +00:00
Magnus Olsen 50b6c2d1d0 part 1/2 for implement GetAppCompatFlags
svn path=/trunk/; revision=32651
2008-03-11 00:08:07 +00:00
Magnus Olsen 0b1f2480f3 partly implement gdi32 Escape
implemented command STARTDOC: Escape

 

svn path=/trunk/; revision=32650
2008-03-10 22:12:12 +00:00
Aleksey Bragin be3386232b - Sync STORAGE_PROPERTY_ID enum with WDK.
svn path=/trunk/; revision=32646
2008-03-10 20:26:03 +00:00
Aleksey Bragin c74b0b6ad8 - A better freebsd/macosx fix.
svn path=/trunk/; revision=32645
2008-03-10 20:04:46 +00:00
Aleksey Bragin 3a17306654 - Add sys/types.h and sys/stat.h includes for mkfifo() declaration, for *nix-builds.
svn path=/trunk/; revision=32644
2008-03-10 19:28:33 +00:00
Aleksey Bragin a70da8b4d0 - Fix rgenstat build on FreeBSD and MacOSX
svn path=/trunk/; revision=32643
2008-03-10 19:24:19 +00:00
ReactOS Portable Systems Group 0b44376e27 ARM Port Memory Management Checkpoint:
- Implemented and defined the MMU-OS architecture for the ARM port. The details are too long for a commit message, but we have decided to replicate the x86 NT memory manager layout. We've defined a PTE_BASE at 0xC0000000 just like on x86, and we use a PDE_BASE at 0xC1000000. Unlike the x86, we can't use PDE-PTE self-mapping because ARM has different formats (and sizes!) for PDE vs PTEs! We emulate the behavior however (which adds a small performance hit) and the Mm porting is thus at least 10 times easier.
- Moved serial port to 0xE0000000 for now.
- We now parse the board memory map from u-boot.
- Added memory allocation code to FreeLDR -- we now build a full ARC memory map for the kernel.
- FreeLDR allocates page tables and sets up the initial support for our memory layout (see comments for some lengthier explenations)
- Allocations made by FreeLDR for loading ReactOS are now made from a "shared heap" page that's also marked in the memory map.
- Registry and NLS data are now being put into the loader block.
- We now create a loader entry for the kernel (but not anything else -- we'll have to parse the list properly later).
- Defined correct _HARDWARE_PTE_ARM and _MMPTE_HARDWARE for ARM.
- ARM_COARSE_PAGE_TABLE is now 4KB instead of 1KB, going against the architecture! We do this for proper OS support of the PTE_BASE.
- Fixed build due to KiSystemStartulReal change.
- Fixed a bug on the x86 build when creating memory allocation descriptors. Memory corruption could occur in certain scenarios.
- Implemented significant portions of the ARM memory manager code in the kernel:
  - MmGetPageDirectory.
  - MmDeletePageTable (for the kernel address space only).
  - MmIsPagePresent (for the kernel address space only).
  - MmCreateVirtualMappingForKernel.
  - MmCreateVirtualMapping (calls MmCreateVirtualMappingUnsafe).
  - MmCreateVirtualMappingUnsafe (for the kernel address space only).
  - MmSetPageProtect (unused on ARM).
  - MmCreateHyperspaceMapping.
  - MmDeleteHyperspaceMapping.
  - MmInitGlobalKernelPageDirectory.
  - MmInitPageDirectoryMap.
- With the above, this means we now go well inside MmInit1: the PFN database is setup and works, memory areas are functional, and non-paged pool is fully working.
- We currently hit a data abort during paged pool setup -- this is to be expected, since we don't have any exception handlers yet. These are coming up next -- we have to start handling crashes (and page faults).


svn path=/trunk/; revision=32640
2008-03-10 17:27:14 +00:00
James Tabor 6f83c4fcb6 - Cleanup GreatLordisms and half implement GdiRealizationInfo.
svn path=/trunk/; revision=32637
2008-03-10 04:02:49 +00:00
Magnus Olsen fc93cf79dd partly implement gdi32 Escape
implemented command ENDDOC: Escape

 

svn path=/trunk/; revision=32636
2008-03-10 00:27:25 +00:00
Magnus Olsen b6b6d6b267 partly implement gdi32 Escape need it for getting opengl icd driver working, if they are using ms icd ddk
implemented command DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE for they are not longer supported in windows XP/2003
implemented command SETABORTPROC it is still stub in gdi32/misc/stubs.c

 

svn path=/trunk/; revision=32635
2008-03-09 23:32:52 +00:00
Magnus Olsen b9cb142148 partly implement gdi32 Escape
implemented command ABORTDOC Escape

 

svn path=/trunk/; revision=32634
2008-03-09 22:58:13 +00:00
Franz Lehner 15c1c603c3 Revert Change in readme.txt -- HTTP DAV access working
svn path=/trunk/; revision=32633
2008-03-09 21:56:42 +00:00
Franz Lehner 179fe706d2 SVN TEST
svn path=/trunk/; revision=32632
2008-03-09 21:48:27 +00:00
Magnus Olsen ba482d4a66 partly implement gdi32 Escape
implemented command GETSCALINGFACTOR Escape
change from if to switch statment for it is faster and cleaner
 

svn path=/trunk/; revision=32631
2008-03-09 21:36:09 +00:00
Aleksey Bragin 1a8cf7342c - Move MiGetPfnEntry into arch-independent mm.h header, along with a few defines, structures, and function prototypes which are going to be used with the new pool implementation in future.
- Add two new fields into PHYSICAL_PAGE structure, they will be used (in the future new pool implementation) to find end/start of a non-paged pool allocation without storing the actual pointers (based on NTs own PFN entry optimization for this) - thanks to Alex for providing this great idea!

svn path=/trunk/; revision=32630
2008-03-09 21:15:12 +00:00
Aleksey Bragin a5ffbcd185 - Move some PTE/PDE macros from i386/page.c into arch-specific mm.h. Also change some macros operation from integer division to bit shifting.
- Remove unused/#if0-ed stuff from mm.h.

svn path=/trunk/; revision=32629
2008-03-09 20:30:28 +00:00
Magnus Olsen 746ac9c644 partly implement gdi32 Escape
implemented command GETCOLORTABLE and GETEXTENDEDTEXTMETRICS in Escape
MS have releae docs over this api in msdn, u can also found docs in nt4 ddk and win98 ddk how this api works. 
and thanks to Filip and Blight that have explain how this api works time to time, in gdi32 


svn path=/trunk/; revision=32628
2008-03-09 19:04:26 +00:00
Johannes Anderwald 06471d3eb5 - fix enumeration of available time zones
svn path=/trunk/; revision=32626
2008-03-09 15:34:13 +00:00
Colin Finck c1c402a4e6 Add missing cast
svn path=/trunk/; revision=32625
2008-03-09 14:28:23 +00:00
Aleksey Bragin 379a429aa9 - Remove autoupdated "$Id:" lines from the kernel source code.
svn path=/trunk/; revision=32623
2008-03-09 14:11:42 +00:00
Gregor Brunmar 2df3af106c Second iteration of Direct3DCreate9()
svn path=/trunk/; revision=32622
2008-03-09 14:11:32 +00:00
Pierre Schweitzer 7d27fdf54b - Reworked NtfsAllocateIrpContext to avoid working with null IRP....
- Rewritten NtfsFsdDirectoryControl (using IrpContext, etc)

svn path=/trunk/; revision=32621
2008-03-09 13:58:25 +00:00
Colin Finck 8083445324 Forgot to change this one as well
svn path=/trunk/; revision=32620
2008-03-09 12:01:59 +00:00
Colin Finck 6b6e759d1c - It is enough to just add a "const" to fix the "deprecated conversion from string constant to 'char*'" warning.
Remove the TempName variable from the previous cabman commit and pass the temp file directly again.
- Add the same "const"'s to sysreg, so that it compiles with gcc >= 4.2 as well

svn path=/trunk/; revision=32619
2008-03-09 11:53:14 +00:00
Colin Finck 54ab4d0d04 Add an arHostRule2 to build host .a files
Fixes building on 64-bit hosts

svn path=/trunk/; revision=32618
2008-03-09 10:59:00 +00:00
Christoph von Wittich 204f88a1f3 disable sysreg - it isn't working anyways
svn path=/trunk/; revision=32617
2008-03-09 10:43:00 +00:00
Christoph von Wittich 1b27484fea fix cabman build with gcc >= 4.2
svn path=/trunk/; revision=32616
2008-03-09 10:41:55 +00:00
Pierre Schweitzer bec091e658 - Updated NTFS header with the "new" FSF address
- Removed useless field $id in ntfs.rc

svn path=/trunk/; revision=32615
2008-03-08 21:45:51 +00:00
Pierre Schweitzer 246b2527c7 Updated French translation for vgafontedit
svn path=/trunk/; revision=32614
2008-03-08 18:30:37 +00:00
Aleksey Bragin ac644e6d90 - Leftovers.
svn path=/trunk/; revision=32613
2008-03-08 17:23:03 +00:00
Aleksey Bragin 0132307d9b - Experimentally switch fastfat driver to non-Ros Cc functions, and thus no FSD in ReactOS are using CcRos-specific functions anymore.
- Assume VACB_MAPPING_GRANULARITY as a default cache segment size.
- Use FSD callbacks instead of direct accessing FCB's MainResource via FileObject/FsContext. This allows removing of ObReferenceObject(FileObject) which I had to add some time ago in order to keep FileObject alive for the lazy writer thread.
- IMPORTANT: Testers should thoroughly try this revision in order to see if any new problems appear. If they do appear, this revision will most probably be reverted by me.

svn path=/trunk/; revision=32612
2008-03-08 16:47:41 +00:00
Pierre Schweitzer c5caa4ae89 Added stubs for CC R/W functions (fixes TODO from r32610)
svn path=/trunk/; revision=32611
2008-03-08 13:17:48 +00:00
Aleksey Bragin 9948ff11e8 - Remove ros-specific Cc functions usage.
- TODO: Provide callbacks for lazy writer and read ahead when calling CcInitializeCacheMap. Could be done similar to r32607 for CDFS.

svn path=/trunk/; revision=32610
2008-03-08 12:14:41 +00:00
Filip Navara 0b0d237b03 Workaround a buggy UINT_PTR definition in the include\host\typedefs.h for 64-bit *nix hosts.
svn path=/trunk/; revision=32609
2008-03-08 11:50:58 +00:00
Filip Navara 017bb6a507 Fix the build.
svn path=/trunk/; revision=32608
2008-03-08 11:08:52 +00:00
Aleksey Bragin 5776256730 - Pass cache manager callbacks structure at every CcInitializeCacheMap() call, it's mandatory.
svn path=/trunk/; revision=32607
2008-03-08 10:35:32 +00:00
Aleksey Bragin 778097fbec - Remove ugly hack from gdiobj.c, official sorry to Timo Kreuzer, his changes were perfect!
- Temporary disable MPW thread shutdown and forcing page flush, since it results in memory corruption.

svn path=/trunk/; revision=32606
2008-03-07 20:49:38 +00:00
Aleksey Bragin a4374a7549 - One leftover from 32604.
svn path=/trunk/; revision=32605
2008-03-07 19:15:14 +00:00
Aleksey Bragin 85826df2f5 - There is no reason for CDFS to use CcRos-specific functions, it ends up with the same CcRosInit/Uninit with the same CacheSegmentSize = PAGE_SIZE. However, CDFS is probably still hardly compatible with a real NT kernel.
svn path=/trunk/; revision=32604
2008-03-07 17:38:43 +00:00
Aleksey Bragin bc0269a715 - UGLY HACK dedicated to Timo Kreuzer: Please, fix this issue. Happens only in 2nd stage during shutdown.
svn path=/trunk/; revision=32603
2008-03-07 17:13:02 +00:00
Johannes Anderwald 5938d19c52 - load boot.ini into listbox
svn path=/trunk/; revision=32602
2008-03-07 16:48:07 +00:00