branch update for HEAD-2003050101
[reactos.git] / ChangeLog
index ccae3af..e337dd6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,312 @@
+2003-04-28  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * Makefile (DLLS): Add epsapi, psapi and wsock32.
+       * lib/ntdll/ldr/utils.c (LdrPerformRelocations): Handle the case where a
+       relocation crosses a page boundary.
+       (LdrFixupImports): Use image load address in calculatation of import
+       address list.
+
+2003-04-28  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/fslib/vfatlib/vfatlib.h: New file.
+       * subsys/system/usetup/format.c: Ditto.
+       * subsys/system/usetup/format.h: Ditto.
+       * lib/fslib/vfatlib/vfatlib.c (GetShiftCount): Define.
+       (VfatWriteBootSector, VfatWriteFsInfo, VfatWriteFAT,
+       VfatWriteRootDirectory): New function.
+       (VfatFormat): Implement.
+       * subsys/system/usetup/bootsup.c: (InstallFat32BootCodeToFile): Use
+       0x0000 as marker to disable backup boot sector.
+       (InstallFat32BootCodeToDisk): Add lower 8-bit to BackupBootSector.
+       Also treat 0x0000 as no backup boot sector is available.
+       * subsys/system/usetup/makefile (TARGET_SDKLIBS): Define.
+       (TARGET_OBJECTS): Add format.o.
+       * subsys/system/usetup/partlist.c (AddPartitionList): Initialize
+       PartNumber field.
+       (GetSelectedPartition): Set PartEntryNumber correctly.
+       (CreateSelectedPartition): Write partition information to disk.
+       (DeleteSelectedPartition): New function.
+       * subsys/system/usetup/partlist.h (PARTDATA): Add field CreatePartition.
+       (DeleteSelectedPartition): Prototype.
+       * subsys/system/usetup/usetup.c (ConfirmDeletePartition): New function.
+       (SelectPartitionPage): Support deletion of partition.
+       (FormatPartitionPage): Support formatting of partition.
+
+2003-04-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/helper.mk (TARGET_ASFLAGS): Add -march and define MK_ARCH_ID.
+       * lib/ntdll/makefile (TARGET_ASFLAGS): Define as
+       "-I $(PATH_TO_TOP)/include".
+       (TARGET_OBJECTS): Add ldr/entry.o.
+       * lib/ntdll/ldr/startup.c: Move inline assembly code...
+       * lib/ntdll/ldr/entry.S: ...here. New file.
+
+2003-04-27  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/kernel32/kernel32.h (assert): Define.
+       * tools/mkhive/.cvsignore: New file.
+
+2003-04-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * subsys/system/usetup/partlist.c (AddPartitionList): Create
+       unpartitioned areas.
+       (CreatePartitionListNoGUI): Save disk geometry.
+       (PrintDiskData): Do not print hidden partition list entries.
+       (ScrollDownPartitionList, ScrollUpPartitionList): Skip hidden partition
+       list entries.
+       (GetActiveBootPartition): Use CurrentDisk as index.
+       (CreateSelectedPartition): New function.
+       * subsys/system/usetup/partlist.h (PARTDATA): Add field NewPartSize.
+       (PARTENTRY): Add fields StartingOffset and HidePartEntry.
+       (DISKENTRY): Add fields Cylinders, TracksPerCylinder, SectorsPerTrack,
+       and BytesPerSector;
+       (CreateSelectedPartition): Add Prototype.
+       * subsys/system/usetup/usetup.c (PAGE_NUMBER): Add CREATE_PARTITION_PAGE
+       and FORMAT_PARTITION_PAGE
+       (CurrentPartitionList, CurrentFileSystemList): New globals.
+       (SelectPartitionPage): Set CurrentPartitionList.
+       (PARTITION_SIZE_INPUT_FIELD_LENGTH): Define as 6.
+       (DrawInputField, ShowPartitionSizeInputBox, CreatePartitionPage,
+       CreateFileSystemList, DestroyFileSystemList, DrawFileSystemList,
+       ScrollDownFileSystemList, ScrollUpFileSystemList, FormatPartitionPage):
+       New functions.
+       (SelectFileSystemPage): Draw partition screen.
+       (CheckFileSystemPage): Handle CREATE_PARTITION_PAGE and
+       FORMAT_PARTITION_PAGE.
+       * subsys/system/usetup/usetup.h (FILE_SYSTEM, FILE_SYSTEM_LIST): Add enums.
+
+2003-04-17  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/mkhive/infcache.c (InfpCacheFindSection, InfpCacheFindKeyLine,
+       InfFindFirstLine, InfFindFirstMatchLine, InfFindNextMatchLine,
+       InfGetLineCount): Change call to stricmp() to strcasecmp().
+       * tools/mkhive/reginf.c (GetRootKey): Ditto.
+       * tools/mkhive/registry.c (RegSetValue, RegQueryValue): Ditto.
+
+2003-04-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/kd/gdbstub.c (KdEnterDebuggerException): Fix signed/unsigned
+       comparison warning.
+       * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Ditto.
+       * ntoskrnl/ke/i386/usertrap.c (KiUserTrapHandler): Ditto.
+       * tools/helper.mk: Do not install static libraries.
+
+2003-04-13  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/Makefile: Fix rule for mkflpimg.
+
+2003-04-12  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/cdmake/Makefile: Use HOST_CC.
+       * tools/cdmake/cdmake.c (MAX_PATH, DIR_SEPARATOR_CHAR,
+       DIR_SEPARATOR_STRING): Define.
+       (directory_record): Add fields name_on_cd and extension_on_cd.
+       (error_exit): Make a macro. Avoid using vfprintf and fprintf.
+       (write_directory_record, new_directory_record, compare_directory_order,
+       pass): Use name_on_cd and extension_on_cd.
+       (make_directory_records, get_file_specifications): Use DIR_SEPARATOR_CHAR.
+       (new_directory_record, make_directory_records): Linux implementations.
+       (main): Use DIR_SEPARATOR_CHAR.
+
+2003-04-06  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/freetype/.cvsignore: Ignore nul.
+
+2003-04-06  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * drivers/storage/atapi/atapi.c (AtapiReadWrite): Expect an interrupt a
+       bit sooner.
+       * hal/halx86/isa.c (HalpGetIsaInterruptVector): Compute vector for MP.
+       * hal/halx86/pci.c (HalpGetPciInterruptVector): Ditto.
+       * hal/halx86/sysbus.c (HalpGetSystemInterruptVector): Ditto.
+       * hal/halx86/mp.c (AssignIrqVector): Rewrite.
+       (MpsTimerHandler): Disable for now.
+       (MpsSpuriousHandler): Do not acknowledge interrupt.
+       (HalAllProcessorsStarted): Only boot 1 CPU for now.
+       (RescheduleDpcRoutine): New function.
+       (RescheduleDpc): New variable.
+       (HalpInitMPS): Initialize RescheduleDpc. Fix bug in call to memset.
+       * hal/halx86/mpsirql.c: Rewrite.
+       * hal/halx86/include/mps.h (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL,
+       IRQL2VECTOR): New macros.
+       * ntoskrnl/ntoskrnl.def: Add KeRescheduleThread@0.
+       * ntoskrnl/ntoskrnl.edf: Ditto.
+       * ntoskrnl/include/internal/ke.h (KeRescheduleThread): Prototype.
+       * ntoskrnl/ke/kthread.c (KeRescheduleThread): New function.
+       * ntoskrnl/ke/i386/exp.c (KeInitExceptions): Remove unneeded call to
+       set_trap_gate().
+       * ntoskrnl/ke/i386/irq.c (VECTOR2IRQ, IRQ2VECTOR, VECTOR2IRQL): Correct.
+       (IRQ_BASE): Define as FIRST_DEVICE_VECTOR.
+       (NR_IRQS): Define using IRQ_BASE.
+       (KeInitInterrupts): Use IRQ_BASE.
+       (KiInterruptDispatch2): Rewrite.
+       (KiInterruptDispatch): Ditto.
+       (KeConnectInterrupt): Pass Vector to HalEnableSystemInterrupt() for MP.
+       (KeDisconnectInterrupt): Pass Vector to HalDisableSystemInterrupt() for MP.
+       * ntoskrnl/ke/i386/trap.s (_KiTrapProlog): Change 0x124 to KPCR_CURRENT_THREAD.
+
+2003-04-06  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * Makefile: Add format.
+       * include/fslib/vfatlib.h (VfatFormat): Prototype.
+       * lib/fmifs/format.c (VfatFormat): Add stub.
+       * lib/fmifs/makefile (TARGET_LIBS): Add vfatlib.a.
+       * lib/fslib/vfatlib/vfatlib.c (VfatFormat): Add stub.
+       * tools/helper.mk: Do not install .sym files for static libraries.
+       * subsys/system/format: New directory.
+       * subsys/system/format/makefile: New file.
+       * subsys/system/format/format.c: Ditto.
+
+2003-04-05  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/fslib: New directory.
+       * lib/fslib: Ditto.
+       * lib/fslib/vfatlib: Ditto.
+       * include/fslib/vfatlib.h: New file.
+       * lib/fslib/vfatlib/.cvsignore: Ditto.
+       * lib/fslib/vfatlib/Makefile: Ditto.
+       * lib/fslib/vfatlib/vfatlib.c: Ditto.
+       * Makefile: Support file system libraries
+       * lib/zlib/Makefile: Remove nostrip target.
+       * tools/helper.mk: Add nostrip target.
+
+2003-04-05  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * tools/.cvsignore: Ignore rline.
+
+2003-04-05  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * bootcd.bat: Install dosmbr.bin.
+       * drivers/storage/disk/disk.c (DiskClassDeviceControl): Pass physical
+       device object to IoWritePartitionTable().
+       * ntoskrnl/io/xhaldrv.c (xHalReadMBR): New function.
+       (xHalWriteMBR): Ditto.
+       (xHalExamineMBR): Use xHalReadMBR() to read MBR.
+       (xHalIoWritePartitionTable): Partial implement.
+       * subsys/system/usetup/bootsup.c (InstallMBRBootCodeToDisk): New function.
+       * subsys/system/usetup/bootsup.h (InstallMBRBootCodeToDisk): Prototype.
+       * subsys/system/usetup/partlist.c (CreatePartitionListNoGUI): New function.
+       (CreatePartitionList): Use CreatePartitionListNoGUI() to create partition
+       list.
+       (GetPartitionInformation): New function.
+       (MarkPartitionActive): Ditto.
+       * subsys/system/usetup/partlist.h (MarkPartitionActive): Prototype.
+       * subsys/system/usetup/usetup.c (SelectPartitionPage): Make SystemRootPath
+       point to the selected partition if no partitions are active.
+       (BootLoaderPage): If no partitions are active, then install a DOS MBR and
+       mark the selected partition active.
+
+2003-04-05  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * Makefile: Add bootcd target.
+       (BOOTCD_INSTALL): Set for bootcd install.
+       * rules.mak (TOPDIR): Define on windows.
+       (BOOTCD_DIR): Define.
+       (RLINE): Define.
+       * apps/tests/lpc/makefile: Handle BOOTCD_INSTALL.
+       * apps/tests/mstest/Makefile: Ditto.
+       * apps/tests/nptest/Makefile: Ditto.
+       * apps/tests/shm/makefile: Ditto.
+       * ntoskrnl/Makefile: Handle BOOTCD_INSTALL. Add bootcd target.
+       * drivers/dd/vga/makefile: Add bootcd target.
+       * drivers/dd/blue/makefile (TARGET_BOOTSTRAP): Define as yes.
+       * drivers/dd/floppy/Makefile: Ditto.
+       * drivers/fs/cdfs/makefile: Ditto.
+       * drivers/fs/ntfs/makefile: Ditto.
+       * drivers/fs/vfat/makefile: Ditto.
+       * drivers/input/keyboard/makefile: Ditto.
+       * drivers/storage/atapi/makefile: Ditto.
+       * drivers/storage/cdrom/makefile: Ditto.
+       * drivers/storage/class2/makefile: Ditto.
+       * drivers/storage/disk/makefile: Ditto.
+       * drivers/storage/scsiport/makefile: Ditto.
+       * hal/halx86/Makefile: Ditto.
+       * lib/ntdll/makefile: Ditto.
+       * subsys/system/usetup/makefile (TARGET_BOOTSTRAP): Define as yes.
+       (TARGET_BOOTSTRAP_NAME): Define as smss.exe.
+       * tools/Makefile: Add rline executable.
+       * tools/helper.mk: Support bootcd targets.
+       * tools/rline.c: New file.
+
+2003-04-04  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/freetype/builds/compiler/gcc.mk (CC): Comment out; use CC from
+       rules.mak instead.
+       * lib/freetype/README.ROS: Note this in porting guide.
+
+2003-03-29  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/ex/sysinfo.c (SystemProcessInformation): Fix warning.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos/rtltypes.h (PRTL_BASE_PROCESS_START_ROUTINE): Define.
+       * lib/kernel32/process/create.c (RtlBaseProcessStartRoutine): Import.
+       (KlCreateFirstThread): Support images with native subsystem ID.
+       * lib/ntdll/def/ntdll.def (RtlBaseProcessStartRoutine): Export.
+       * lib/ntdll/def/ntdll.edf (RtlBaseProcessStartRoutine): Ditto.
+       * lib/ntdll/rtl/exception.c (RtlBaseProcessStart): Forward declare.
+       (RtlBaseProcessStartRoutine, RtlBaseProcessStart): Add.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/defines.h (VS_FFI_SIGNATURE, VS_FFI_STRUCVERSION): Define.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/ke/i386/exp.c (KiKernelTrapHandler): Use exception code
+       STATUS_ACCESS_VIOLATION for exception 14.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/fs/util.c (FsRtlGetFileSize): Implement.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * lib/ntdll/rtl/nls.c (RtlCustomCPToUnicodeN, RtlMultiByteToUnicodeN,
+       RtlOemToUnicodeN, RtlUnicodeToCustomCPN, RtlUnicodeToMultiByteN,
+       RtlUnicodeToMultiByteSize, RtlUnicodeToOemN,
+       RtlUpcaseUnicodeToCustomCPN, RtlUpcaseUnicodeToMultiByteN,
+       RtlUpcaseUnicodeToOemN): Assert when unimplemented code is reached.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos/zwtypes.h (FILE_BASIC_INFORMATION): Use LARGE_INTEGER,
+       not TIME type for time fields.
+       * lib/kernel32/file/copy.c (SetLastWriteTime): Adjust for new type.
+       (CopyFileExW): Ditto.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ntos/types.h (FALSE): Protect with #ifndef FALSE.
+       (TRUE): Protect with #ifndef TRUE.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/napi/i386/segment.h (put_user, get_user,
+       bad_user_access_length, __segment_dummy, __sd, __const_sd, __put_user,
+       __get_user, __generic_memcpy_tofs, __constant_memcpy_tofs, COMMON,
+       __generic_memcpy_fromfs, __constant_memcpy_fromfs, memcpy_fromfs,
+       memcpy_tofs, get_fs_byte, get_fs_word, get_fs_long, put_fs_byte,
+       put_fs_word, put_fs_long, get_user_word, get_user_byte, get_user_long,
+       put_user_byte, put_user_word, put_user_long, get_fs, get_ds, set_fs,
+       set_ds): Remove.
+
+2003-03-16  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * include/ddk/pstypes.h (TLS_OUT_OF_INDEXES): Define.
+
+2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cc/view.c (CcRosFlushDirtyPages): Treat a write attempt with
+       a return value of STATUS_END_OF_FILE as a successful write.
+       * ntoskrnl/cc/copy.c (WriteCacheSegment): Ditto.
+
+2003-02-18  Casper S. Hornstrup  <chorns@users.sourceforge.net>
+
+       * ntoskrnl/cm/regfile.c (CmiRemoveSubKey): Kill warnings.
+       (CmiMergeFree): Ditto.
+
 2003-02-10  Casper S. Hornstrup  <chorns@users.sourceforge.net>
 
        * include/structs.h (OSVERSIONINFOEXA): Expand definition of