test: jazzprom.h Source File

Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

# jazzprom.h

Go to the documentation of this file.

    00001 /*++
    00002
    00003 Copyright (c) 1991  Microsoft Corporation
    00004
    00005 Module Name:
    00006
    00007     jazzprom.h
    00008
    00009 Abstract:
    00010
    00011     This module is the header file that describes physical and virtual
    00012     address used by the PROM monitor and boot code.
    00013
    00014 Author:
    00015
    00016     David N. Cutler (davec) 27-Apr-1991
    00017
    00018 Revision History:
    00019
    00020 --*/
    00021
    00022 #ifndef _JAZZPROM_
    00023 #define _JAZZPROM_
    00024
    00025 //
    00026 // Define virtual/physical base address pairs for boot mapping.
    00027 //
    00028
    00029 #define DEVICE_VIRTUAL_BASE 0xe0000000  // virtual base of device space
    00030 #define DEVICE_PHYSICAL_BASE 0x80000000 // physical base of device space
    00031
    00032 #undef INTERRUPT_VIRTUAL_BASE
    00033 #define INTERRUPT_VIRTUAL_BASE 0xe0100000 // virtual base of interrupt source
    00034 #define INTERRUPT_PHYSICAL_BASE 0xf0000000 // physical base of interrupt source
    00035
    00036 #define VIDEO_CONTROL_VIRTUAL_BASE 0xe0200000 // virtual base of video control
    00037 #define VIDEO_CONTROL_PHYSICAL_BASE 0x60000000 // physical base of video control
    00038
    00039 #define EXTENDED_VIDEO_CONTROL_VIRTUAL_BASE 0xe0400000 // virtual base of extended video control
    00040 #define EXTENDED_VIDEO_CONTROL_PHYSICAL_BASE 0x60200000 // physical base of extended video control
    00041
    00042 #define VIDEO_MEMORY_VIRTUAL_BASE 0xe0800000 // virtual base of video memory
    00043 #define VIDEO_MEMORY_PHYSICAL_BASE 0x40000000 // physical base of video memory
    00044
    00045 #define PROM_VIRTUAL_BASE 0xe1000000    // virtual base of boot PROM
    00046 #define PROM_PHYSICAL_BASE 0xfff00000   // physical base of boot PROM
    00047
    00048 #define EISA_IO_VIRTUAL_BASE 0xe2000000 // virtual base of EISA I/O
    00049 #define EISA_IO_PHYSICAL_BASE 0x90000000 // physical base of EISA I/O
    00050 #define EISA_EXTERNAL_IO_VIRTUAL_BASE 0xe4000000 // external virtual base of EISA I/O
    00051
    00052 #define EISA_MEMORY_VIRTUAL_BASE 0xe3000000 // virtual base of EISA memory
    00053 #define EISA_MEMORY_PHYSICAL_BASE 0x91000000 // physical base of EISA memory
    00054
    00055 #define PCR_VIRTUAL_BASE KiPcr          // virtual address of PCR
    00056 #define PCR_PHYSICAL_BASE 0x7ff000      // physical address of PCR
    00057
    00058 #undef SP_PHYSICAL_BASE
    00059 #define SP_VIRTUAL_BASE 0xffffa000      // virtual base of serial port
    00060 #define SP_PHYSICAL_BASE 0x80006000     // physical base of serial port
    00061
    00062 //
    00063 // Define boot code device virtual addresses.
    00064 //
    00065
    00066 #undef DMA_VIRTUAL_BASE
    00067 #define DMA_VIRTUAL_BASE 0xe0000000     // virtual base of DMA control
    00068
    00069 #define NET_VIRTUAL_BASE 0xe0001000     // virtual base of ethernet control
    00070
    00071 #define SCSI_VIRTUAL_BASE 0xe0002000    // virtual base os SCSI control
    00072
    00073 #define FLOPPY_VIRTUAL_BASE 0xe0003000  // virtual base of floppy control
    00074
    00075 #define RTC_VIRTUAL_BASE 0xe0004000     // virtual base of realtime clock
    00076
    00077 #define KEYBOARD_VIRTUAL_BASE 0xe0005000 // virtual base of keyboard control
    00078
    00079 #define COMPORT1_VIRTUAL_BASE 0xe0006000 // virtual base of comport 1 control
    00080
    00081 #define COMPORT2_VIRTUAL_BASE 0xe0007000 // virtual base of comport 2 control
    00082
    00083 #define PARALLEL_VIRTUAL_BASE 0xe0008000 // virtual base of parallel control
    00084
    00085 #define NVRAM_VIRTUAL_BASE 0xe0009000    // virtual base of NVRAM
    00086
    00087 #define SOUND_VIRTUAL_BASE 0xe000c000    // virtual base of sound control
    00088
    00089 #define DIAGNOSTIC_VIRTUAL_BASE 0xe000f000 // virtual base of diagnostic control
    00090
    00091 #define VIDEO_CURSOR_VIRTUAL_BASE 0xe0208000 // virtual base of cursor control
    00092
    00093 #define VIDEO_ID_VIRTUAL_BASE 0xe0210000 // virtual base of video id register
    00094
    00095 #define VIDEO_RESET_VIRTUAL_BASE 0xe0220000 // virtual base of reset register
    00096
    00097 //
    00098 // Define base address and limit of DMA translation table.
    00099 //
    00100
    00101 #define DMA_TRANSLATION_BASE 0xa0001000 // translation table base address
    00102 #define DMA_TRANSLATION_LIMIT 0x1000    // translation table limit
    00103
    00104 //
    00105 // Define pointer to DMA control registers.
    00106 //
    00107
    00108 #define DMA_CONTROL ((volatile PDMA_REGISTERS)(DMA_VIRTUAL_BASE))
    00109
    00110 //
    00111 // Define DMA channels.
    00112 //
    00113
    00114 #define SCSI_CHANNEL 0x0                // SCSI DMA channel number
    00115 #define FLOPPY_CHANNEL 0x1              // Floppy DMA channel
    00116
    00117 //
    00118 // Define pointer to interrupt source register.
    00119 //
    00120
    00121 #undef INTERRUPT_SOURCE
    00122 #define INTERRUPT_SOURCE ((volatile PUCHAR)INTERRUPT_VIRTUAL_BASE)
    00123
    00124 //
    00125 // Define device interrupt identification values.
    00126 //
    00127
    00128 #define PARALLEL_DEVICE 0x4         // Parallel port device interrupt id
    00129 #define FLOPPY_DEVICE 0x8           // Floppy device interrupt id
    00130 #define SOUND_DEVICE 0xC            // Sound device interrupt id
    00131 #define VIDEO_DEVICE 0x10           // Video device interrupt id
    00132 #define ETHERNET_DEVICE 0x14        // Ethernet device interrupt id
    00133 #define SCSI_DEVICE 0x18            // SCSI device interrupt id
    00134 #define KEYBOARD_DEVICE 0x1C        // Keyboard device interrupt id
    00135 #define MOUSE_DEVICE 0x20           // Mouse device interrupt id
    00136 #define SERIAL0_DEVICE 0x24         // Serial port 0 device interrupt id
    00137 #define SERIAL1_DEVICE 0x28         // Serial port 1 device interrupt id
    00138
    00139 //
    00140 // Define low memory transfer vector address and TB index address.
    00141 //
    00142
    00143 #define TRANSFER_VECTOR (KSEG1_BASE + 0x400) // exception handler address
    00144
    00145 #endif // _JAZZPROM_