K6INIT

[ICO]NameLast modifiedSizeDescription

[PARENTDIR]Parent Directory  -  
[DIR]v1.07/2025-01-03 18:39 -  
[DIR]v1.06/2025-01-03 18:39 -  
[DIR]v1.04a/2025-01-03 18:39 -  
[DIR]v0.91/2025-01-03 18:39 -  
[DIR]v0.90/2025-01-03 18:39 -  
[DIR]v0.04/2025-01-03 18:39 -  
[DIR]v0.03/2025-01-03 18:39 -  
[DIR]v0.02/2025-01-03 18:39 -  
[DIR]v0.01/2025-01-03 18:39 -  
[DIR]V1.1/2025-01-03 18:39 - [Latest version]

In contrast to other tools, K6INIT can be loaded from CONFIG.SYS, so it works even with an extended memory manager (such as EMM386) installed.

If called with the /auto parameter, K6INIT does the following:

         Write Ordering mode to 1 (All except UC/WC)

         Write Allocate for all system memory (auto detected)

         Write Combining for Linear Frame Buffer(s) exposed by PCI/AGP graphics cards and VESA BIOS (auto detected)

         L1 Cache to Enabled

         L2 Cache to Enabled (supported CPUs only!)

         Data Prefetch to Enabled

This can be altered and overridden with many command line parameters.

K6INIT runs on Chomper Extended (CXT) K6-2 chips or later.

K6INIT was built using the LIB866D DOS Real-Mode Software Development Library

Features

          Detect CPU type automatically

          Detect total available system memory (Using E820 and E801 methods)

          Detect 15-16M Memory hole automatically

          Give precise control over Memory Type Range Registers (MTRRs) including Write-Combine and Uncacheable modes.

          Set MTRR to enable Write combining for PCI/AGP BAR Frame Buffers automatically

          Set MTRR to enable Write combining for Linear Frame Buffers (LFBs) automatically (requires graphics card with VESA BIOS extensions)

          Set Write allocate for system memory

          Set Write Order mode

          Set Frequency Multiplier (K6-2+/III+ only)

          Enable/Disable L1 Cache

          Enable/Disable L2 Cache (K6-2+/K6-III/K6-III+ only)

          Enable/Disable Data Prefetch

          List all PCI/AGP device Base Address Regions (BARs)

Supported Processors

CPU Type

Family

Model

Stepping

AMD K6-2 (CXT Core)

5

8

C

AMD K6-III

5

9

Any

AMD K6-2+ / AMD K6-III+

5

D

Any

System Requirements

         Supported AMD K6 family CPU (see above)

         Microsoft MS-DOS 5.0 (or compatible) or higher

o         Microsoft Windows 95/98 support

o         FreeDOS support

o        Other systems such as DR-DOS untested, but should work.

Running the Driver

Usage (config.sys): DEVICE=K6INIT.EXE <parameters>

Usage (command line): K6INIT.EXE <parameters>

All parameters are case-inensitive. Parameters other than /auto should only be used by knowledgeable users.

Command Line Parameters

K6INIT offers several command-line options to configure and manage memory settings, CPU features, and other system parameters. Below is a detailed explanation of each parameter.

/?

Description: Prints this list of parameters.


/status

Description: Displays the current program status.


/auto

Description: Fully automated setup.


/mtrr:offset,size,wc,uc

Description: Enables Write Combining for a specific memory range. Parameters:

         offset: Linear offset (e.g., 0xE0000000)

         size: Length in kilobytes (e.g., 8192)

         wc: Write-combine flag (1 to enable, 0 to disable)

         uc: Uncacheable flag (1 to enable, 0 to disable)

Notes:

         The /mtrr option can be used twice.

         Discards any MTRRs configured before running the program.


/lfb

Description: Automatically finds and enables Write Combining for the Linear Frame Buffers (LFB).


/pci

Description: Automatically finds and enables Write Combining for Frame Buffers exposed by PCI / AGP graphics cards (experimental).


/vga

Description: Enables Write Combining for the VGA memory region (A0000-BFFFF).

Notes:

         Warning: This option is potentially unsafe. Do not use this memory region for Upper Memory Blocks (UMBs).

         Equivalent to: /wc:0xA0000,128,1,0


/nomtrr

Description: Disables Memory Type Range Registers (MTRRs) entirely.

Notes:

         Clears any existing MTRRs, including Write-Combined and Uncacheable regions.


/wa:size

Description: Configures Write Allocate (WA) settings.

Arguments:

         size: Memory size in kilobytes.

Notes:

         Set this to 0 to disable Write Allocate.


/wahole

Description: Forces 15-16 MB memory hole skipping for Write Allocate.

Notes:

         K6INIT detects the memory hole automatically, but this option can be used to force it.


/wo:mode

Description: Configures the Write Order Mode.

Arguments:

         mode: A single digit representing the desired mode.

o        0: All memory regions (Slow)

o        1: All except uncacheable or write-combined regions (Fast)

o        2: No memory regions (Fastest)


/multi:x.y

Description: Configures the CPU frequency multiplier.

Arguments:

         x: Integral part of the multiplier.

         y: Fractional part of the multiplier.

Notes:

         Requires a K6-2+ or K6-III+ CPU.

         Example usage: /multi:5.5


/l1:1/0

Description: Enables (1) or disables (0) the Level 1 cache.


/l2:1/0

Description: Enables (1) or disables (0) the Level 2 cache.

Notes:

         Only K6-2+ and K6-III+ CPUs have an on-die L2 cache.


/prefetch:1/0

Description: Enables (1) or disables (0) Data Prefetching (DPE)


/listbars

Description: Lists all Base Address Regions (BARs) exposed by PCI/AGP devices in the system.