From 7e294faff41f9441bf52af9ae94d16a9b55c914a Mon Sep 17 00:00:00 2001 From: Serge Gautherie <32623169+SergeGautherie@users.noreply.github.com> Date: Sat, 16 Aug 2025 18:56:58 +0200 Subject: [PATCH] [UNIATA] Upgrade to v0.47b from v0.47a (#8177) - Remove unused idedma.def Addendum to commit 1daf74908e (r29256). - Convert a few files to UTF-8 from ANSI Plus, 2 tiny formatting fixes. - id_ata.cpp: Unmark a ReactOS own diff Addendum to commit 7fdf078134. - id_init.cpp: Mark a diff Addendum to commit 09dde2cff9. - Upgrade to v0.47b from v0.47a CORE-17876 --- drivers/storage/ide/uniata/atapi.h | 2 +- drivers/storage/ide/uniata/bsmaster.h | 2 +- drivers/storage/ide/uniata/id_ata.cpp | 29 ++++++++++++------- drivers/storage/ide/uniata/id_dma.cpp | 2 +- drivers/storage/ide/uniata/id_init.cpp | 5 +++- drivers/storage/ide/uniata/id_probe.cpp | 2 +- drivers/storage/ide/uniata/idedma.def | 8 ----- .../storage/ide/uniata/ros_glue/ros_glue.cpp | 2 +- drivers/storage/ide/uniata/todo.txt | 2 +- drivers/storage/ide/uniata/uniata_comm.inf | 2 +- drivers/storage/ide/uniata/uniata_ver.h | 14 ++++----- media/doc/3rd Party Files.txt | 4 +-- 12 files changed, 39 insertions(+), 35 deletions(-) delete mode 100644 drivers/storage/ide/uniata/idedma.def diff --git a/drivers/storage/ide/uniata/atapi.h b/drivers/storage/ide/uniata/atapi.h index 3939d1ce46f..c30f8e50edf 100644 --- a/drivers/storage/ide/uniata/atapi.h +++ b/drivers/storage/ide/uniata/atapi.h @@ -34,7 +34,7 @@ Revision History: Mike Glass (MGlass) Some definitions were taken from FreeBSD 4.3-4.6 ATA driver by - Søren Schmidt, Copyright (c) 1998,1999,2000,2001 + Søren Schmidt, Copyright (c) 1998,1999,2000,2001 Code was changed/updated by Alter, Copyright (c) 2002-20016 diff --git a/drivers/storage/ide/uniata/bsmaster.h b/drivers/storage/ide/uniata/bsmaster.h index 4e97f4b24a5..b8861aea125 100644 --- a/drivers/storage/ide/uniata/bsmaster.h +++ b/drivers/storage/ide/uniata/bsmaster.h @@ -34,7 +34,7 @@ Revision History: Alter, Copyright (c) 2002-2015 Some definitions were taken from FreeBSD 4.3-9.2 ATA driver by - Søren Schmidt, Copyright (c) 1998-2014 + Søren Schmidt, Copyright (c) 1998-2014 Licence: GPLv2 diff --git a/drivers/storage/ide/uniata/id_ata.cpp b/drivers/storage/ide/uniata/id_ata.cpp index 6957956b88e..111063c64de 100644 --- a/drivers/storage/ide/uniata/id_ata.cpp +++ b/drivers/storage/ide/uniata/id_ata.cpp @@ -35,7 +35,7 @@ Revision History: Chuck Park (ChuckP) Some parts of code were taken from FreeBSD 4.3-6.1 ATA driver by - Søren Schmidt, Copyright (c) 1998-2007 + Søren Schmidt, Copyright (c) 1998-2007 All parts of code are significantly changed/updated by Alter, Copyright (c) 2002-2014: @@ -9610,13 +9610,7 @@ reject_srb: inquiryData->CommandQueue = 1; // Fill in vendor identification fields. -#ifdef __REACTOS__ FillDeviceIdentificationString(inquiryData, identifyData); -#else - for (i = 0; i < 24; i += 2) { - MOV_DW_SWP(inquiryData->DeviceIdentificationString[i], ((PUCHAR)identifyData->ModelNumber)[i]); - } -#endif // Move firmware revision from IDENTIFY data to // product revision in INQUIRY data. @@ -11412,23 +11406,28 @@ AtapiRegCheckDevValue( swprintf(namev, L"\\SATA"); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( - HwDeviceExtension, namex, chan, dev, Name, val); + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); } if(HwFlags & UNIATA_AHCI) { swprintf(namev, L"\\AHCI"); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( - HwDeviceExtension, namex, chan, dev, Name, val); + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); } if(!(HwFlags & (UNIATA_SATA | UNIATA_AHCI))) { swprintf(namev, L"\\PATA"); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( - HwDeviceExtension, namex, chan, dev, Name, val); + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); } if(deviceExtension->AdapterInterfaceType == PCIBus) { // PCI + swprintf(namev, L"\\PCIIDE"); + swprintf(namex, L"Parameters%s", namev); + val = AtapiRegCheckDevLunValue( + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); + swprintf(namev, L"\\IDE_%d", deviceExtension->DevIndex); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( @@ -11453,6 +11452,11 @@ AtapiRegCheckDevValue( } else if(deviceExtension->AdapterInterfaceType == Isa) { // Isa + swprintf(namev, L"\\ISAIDE"); + swprintf(namex, L"Parameters%s", namev); + val = AtapiRegCheckDevLunValue( + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); + swprintf(namev, L"\\IDE_%d", deviceExtension->DevIndex+BMListLen); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( @@ -11466,6 +11470,11 @@ AtapiRegCheckDevValue( } else if(deviceExtension->AdapterInterfaceType == MicroChannel) { // MicroChannel + swprintf(namev, L"\\MCA"); + swprintf(namex, L"Parameters%s", namev); + val = AtapiRegCheckDevLunValue( + HwDeviceExtension, namex, CHAN_NOT_SPECIFIED, dev, Name, val); + swprintf(namev, L"\\IDE_%d", deviceExtension->DevIndex+BMListLen+IsaCount); swprintf(namex, L"Parameters%s", namev); val = AtapiRegCheckDevLunValue( diff --git a/drivers/storage/ide/uniata/id_dma.cpp b/drivers/storage/ide/uniata/id_dma.cpp index 0a2570d0888..30d9e859a37 100644 --- a/drivers/storage/ide/uniata/id_dma.cpp +++ b/drivers/storage/ide/uniata/id_dma.cpp @@ -31,7 +31,7 @@ Notes: Revision History: This module is a port from FreeBSD 4.3-6.1 ATA driver (ata-dma.c, ata-chipset.c) by - Søren Schmidt, Copyright (c) 1998-2008 + Søren Schmidt, Copyright (c) 1998-2008 Changed defaulting-to-generic-PIO/DMA policy Added PIO settings for VIA diff --git a/drivers/storage/ide/uniata/id_init.cpp b/drivers/storage/ide/uniata/id_init.cpp index 243f35f1eea..7a539e9addc 100644 --- a/drivers/storage/ide/uniata/id_init.cpp +++ b/drivers/storage/ide/uniata/id_init.cpp @@ -2555,8 +2555,11 @@ AtapiChipInit( * size goes below 32DW. Setting it to 1 makes the watermark * 64DW. * - * https://jira.reactos.org/browse/CORE-5897 + * http://www.reactos.org/bugzilla/show_bug.cgi?id=6500 */ +#ifdef __REACTOS__ + // New URL is https://jira.reactos.org/browse/CORE-5897 +#endif if(DeviceID == 0x3149 || DeviceID == 0x3249) { //vt6420 or vt6421 KdPrint2((PRINT_PREFIX "VIA 642x FIFO\n")); diff --git a/drivers/storage/ide/uniata/id_probe.cpp b/drivers/storage/ide/uniata/id_probe.cpp index 85bdc6455d4..92aea14da60 100644 --- a/drivers/storage/ide/uniata/id_probe.cpp +++ b/drivers/storage/ide/uniata/id_probe.cpp @@ -31,7 +31,7 @@ Notes: Revision History: Some parts of hardware-specific code were taken from FreeBSD 4.3-6.1 ATA driver by - Søren Schmidt, Copyright (c) 1998-2007 + Søren Schmidt, Copyright (c) 1998-2007 Some parts of device detection code were taken from from standard ATAPI.SYS from NT4 DDK by Mike Glass (MGlass) diff --git a/drivers/storage/ide/uniata/idedma.def b/drivers/storage/ide/uniata/idedma.def deleted file mode 100644 index dfb97418b01..00000000000 --- a/drivers/storage/ide/uniata/idedma.def +++ /dev/null @@ -1,8 +0,0 @@ -; IDEDMA.def - -NAME IDEDMA.SYS -DESCRIPTION 'IDEDMA.SYS' - -EXPORTS - - diff --git a/drivers/storage/ide/uniata/ros_glue/ros_glue.cpp b/drivers/storage/ide/uniata/ros_glue/ros_glue.cpp index 4b68a8a6536..c21ee992d11 100644 --- a/drivers/storage/ide/uniata/ros_glue/ros_glue.cpp +++ b/drivers/storage/ide/uniata/ros_glue/ros_glue.cpp @@ -3,5 +3,5 @@ extern "C" { ULONG MajorVersion = 0x05; ULONG MinorVersion = 0x02; -ULONG BuildNumber = 0x0; +ULONG BuildNumber = 0x0; } diff --git a/drivers/storage/ide/uniata/todo.txt b/drivers/storage/ide/uniata/todo.txt index 677b348d438..ad16c0fc1e5 100644 --- a/drivers/storage/ide/uniata/todo.txt +++ b/drivers/storage/ide/uniata/todo.txt @@ -254,4 +254,4 @@ 158.implement .INF generator 159.fix bug with invalid INF section under XP+ (43e2) 160.add INF handler for SCSI\NET\VEN_UNIATA&PROD_MANAGEMENT_PORT -161. \ No newline at end of file +161. diff --git a/drivers/storage/ide/uniata/uniata_comm.inf b/drivers/storage/ide/uniata/uniata_comm.inf index afdebae4028..3c7b5dc78c5 100644 --- a/drivers/storage/ide/uniata/uniata_comm.inf +++ b/drivers/storage/ide/uniata/uniata_comm.inf @@ -6,7 +6,7 @@ Provider=%ALTERWARE% ClassGUID={4D36E97D-E325-11CE-BFC1-08002BE10318} Class=System ;CatalogFile=uniata.cat -DriverVer=08/25/2012,0.43.4.2 +DriverVer=10/16/2021,0.47.2.0 [DestinationDirs] diff --git a/drivers/storage/ide/uniata/uniata_ver.h b/drivers/storage/ide/uniata/uniata_ver.h index 2ff884e01af..e01a0dd29d2 100644 --- a/drivers/storage/ide/uniata/uniata_ver.h +++ b/drivers/storage/ide/uniata/uniata_ver.h @@ -1,10 +1,10 @@ -#define UNIATA_VER_STR "47a" -#define UNIATA_VER_DOT 0.47.1.0 +#define UNIATA_VER_STR "47b" +#define UNIATA_VER_DOT 0.47.2.0 #define UNIATA_VER_MJ 0 #define UNIATA_VER_MN 47 -#define UNIATA_VER_SUB_MJ 1 +#define UNIATA_VER_SUB_MJ 2 #define UNIATA_VER_SUB_MN 0 -#define UNIATA_VER_DOT_COMMA 0,47,1,0 -#define UNIATA_VER_DOT_STR "0.47.1.0" -#define UNIATA_VER_YEAR 2019 -#define UNIATA_VER_YEAR_STR "2019" +#define UNIATA_VER_DOT_COMMA 0,47,2,0 +#define UNIATA_VER_DOT_STR "0.47.2.0" +#define UNIATA_VER_YEAR 2021 +#define UNIATA_VER_YEAR_STR "2021" diff --git a/media/doc/3rd Party Files.txt b/media/doc/3rd Party Files.txt index 6266f7b09b5..bd244c6c3ee 100644 --- a/media/doc/3rd Party Files.txt +++ b/media/doc/3rd Party Files.txt @@ -152,9 +152,9 @@ URL: https://github.com/microsoft/Windows-driver-samples/tree/master/storage/sfl Title: Universal ATA driver for Windows Path: drivers/storage/ide/uniata -Used Version: 0.47a +Used Version: 0.47b License: BSD-like -URL: http://alter.org.ua/soft/win/uni_ata/ +URL: https://alter.org.ua/soft/win/uni_ata/ Title: Miniport driver for the Buslogic BT 958 SCSI Controller Path: drivers/storage/port/buslogic