- Add directory path parsing which tries to find existing FCBs for path names.
- Add a framework for creating DCBs during path dissection. Currently just prints out path names.
- Cleanup fcb.c, Alexey Vlasov's version was great, but it is a bit different from what I want to implement now.
svn path=/trunk/; revision=43225
- Remove all malloc/free usage in the library and substitute them by user-provided FF_Malloc and FF_Free functions.
- Cleanup fullfat.rbuild.
svn path=/trunk/; revision=43221
Prepare sddkver.h for mingw-w64 import:
- Point out the fact that the header is in the public domain.
- Add some missing stuff, including a NTDDI_VERSION sanity check.
- Format fixes, add some comments
svn path=/trunk/; revision=43205
- Add an internal routine for opening root DCB (a stub for now).
- Add code for checking if this is a relative or absolute open. Start implementing absolute opening part.
svn path=/trunk/; revision=43203
- Fix wrong comment in FatiCreate, spotted by Ged Murphy.
- Add some parameters validation to FatiCreate, and a check for volume open request.
- Add node types and a decoding routine.
- Implement VCB locking/unlocking.
svn path=/trunk/; revision=43202
- Start implementing one of the most massive IFS driver routines - IRP_MJ_CREATE handler. Right now it just does some preliminary work, deciphers all options, prepares all variables, prints out debug stuff.
svn path=/trunk/; revision=43199
- Acquire global lock before touching FatGlobalData structure.
- Initialize global VCB list, fixes a crash at volume mounting.
- Loading goes up to volume mounting, an attempt to query information and open a file.
svn path=/trunk/; revision=43194
- Simplify Ke386GetTr and Ke386GetLocalDescriptorTable to return by value instead of reference.
- Make RDMSR smaller by making it fastcall as rdmsr takes its argument in ecx.
- Fix KiGetCacheInformation -- it only handled the Intel and AMD case.
- Replace Ke386HaltProcessor with __halt.
- KiHaltProcessorDpcRoutine: Always halt the processor for the architectures we support for consistency.
- Clean up x86 and PPC headers from deprecated stuff.
- Fix broken LOCK undefine in v86m_sup.S -- LOCK is used both in a macro and the code, so only undefine it where required and redefine it after it is used (this worked because LOCK was interpreted as lock).
Get rid of KeArch*:
- Rename KeArchInitThreadWithContext to KiInitializeContextThread and use the same name for all architectures.
- Kill KeArchHaltProcessor. Use __halt and KeArmHaltProcessor directly instead.
- Use Ke386FnInit instead of KeArchFnInit -- it is only used for x86.
svn path=/trunk/; revision=43180
- Revert most of the 41684: "-fix support for ICH7,ICH7M,ICH8,ICH8M,ICH9,ICH9R,ICH9M and ICH10 in compat mode". Those controllers should be supported now, and when set to compat mode the driver falls back to UDMA automatically.
- ICH7 real hw testing is required. ICH9 doesn't work in Enhanced mode, works in Compat mode.
svn path=/trunk/; revision=43179