summaryrefslogtreecommitdiff
path: root/Board/EM/Csm/MBIOSEQU.EQU
blob: d467f9f6369fab74bd0f560c142719422a87b56b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
;Inclusion guard
ifndef	_mbiosequ_equ_
_mbiosequ_equ_	equ	1
.586p
.xlist

;****************************************************************************
;****************************************************************************
;**                                                             	   **
;**      	(C)Copyright 1985-2001, American Megatrends, Inc.          **
;**                                                             	   **
;**                    	     All Rights Reserved.          	           **
;**                                                                        **
;**                 6145-F Northbelt Pkwy, Norcross, GA 30071         	   **
;**                                                             	   **
;**                          Phone (770)-246-8600    	                   **
;**                                                             	   **
;****************************************************************************
;****************************************************************************
;****************************************************************************
; $Header: /Alaska/SOURCE/Modules/CSM/Generic/OEM Hooks/MBIOSEQU.EQU 1     5/16/06 2:39p Olegi $
;
; $Revision: 1 $
;
; $Date: 5/16/06 2:39p $
;****************************************************************************
; Revision History
; ----------------
; $Log: /Alaska/SOURCE/Modules/CSM/Generic/OEM Hooks/MBIOSEQU.EQU $
; 
; 1     5/16/06 2:39p Olegi
; 
; 16    4/23/03 3:38p Anandj
; Added error type 'NO_PS2_MOUSE_ERR'.
;
; 15    1/28/03 4:01p Dickh
; New module id for osb_logo_module_id (On Screen Branding) added.
;
; 14    1/16/03 3:29p Dickh
; Added comment for module IDs F0 - FF (they are allocated for OEM use).
;
; 13    12/23/02 1:23p Anandj
; Currently BIOS supports 5 error types.
; Informal, Fatal, Warning, General and CMOS related enumerated 1 to 5.
; Types 6 and 7 are reserved for future BIOS core use. Error types 8 to F
; are to be used by OEM.
;
; 12    12/20/02 12:51p Kevinm
; Moved the structure SETUP_ATA_TABLE_STRUC here from SETUP.ASM.
;
; 11    9/11/02 11:17a Kevinm
; Updated to support up to 4 IDE channels.
;
; 10    5/24/02 1:40p Anandj
; Added 'DISPLAY_TOKEN_MESSAGE_UNBUFFERED' in the ouput API equates
;
; 9     5/01/02 10:37a Anandj
; Added a new error type PASSWORD_CHECK_ERROR_NON_CRITICAL the default
; behavior is set to warning.
;
; 8     4/09/02 5:07p Juand
; Added CID_CUSTOM_FOR_OEM as requested by INTEL.
;
; 7     12/14/01 10:55a Juand
; Defined bits three and four for the variable boot_block_flag.
;
; 6     12/04/01 9:42a Anandj
; Fixed the problem in the header of e820_info_struc
;
; 5     12/03/01 11:30a Anandj
; updated header for e820_info_struc
;
; 4     11/29/01 9:31a Anandj
; Additional memory type 'ram_os_1M'  to support memory above 4GB
; the upper bit means he granularity  is 1MB.
;  While reporting we have to convert memory in no of bytes and reset the
; upper bit for memory type.
;
; 3     10/02/01 7:06p Sudhakaro
; Removed the invalid VSS prefix ("*").
;
; 2     10/02/01 6:10p Sudhakaro
; Changed MIDs to CIDs to avoid confusion with ROM module IDs.
;
; 12    9/08/01 7:33a Sudhakaro
; Removed currently unused error code "UNKNOWN_BIOS_ERR".
;
; 11    8/28/01 8:28p Sudhakaro
; Added the equate CURSOR_COLUMN_FOR_IDE_INFO, being used in IDE
; information display.
;
; 10    8/22/01 6:09p Kevinm
; Added a module id for PARTIES logo.
;
; 9     8/17/01 7:39p Sudhakaro
; Kernel error codes are redefined to have lower byte of error codes
; directly mapped to SMBIOS error bits for errors defined in SMBIOS spec.
;
; 8     8/15/01 2:06p Sudhakaro
; Module IDs are allocated for all different components of BIOS. Error
; codes are modified to have Module ID in the upper byte.
;
; 7     8/13/01 3:44p Sudhakaro
; Added the equate CDS_0Eh_DATE_TIME_ERR_BIT for Bit-2 of CMOS Diagnostic
; Status Byte.
;
; 6     7/24/01 9:30a Anandj
; Macro eK_PROC is moved to mbiosmac.mac.
;
; 5     7/24/01 9:01a Anandj
; Macros IO_DELAY and IO_DELAY_BB are moved to mbiosmac.mac.
;
; 4     7/10/01 5:34p Chrism
; Deleted reference to num_proc_port
;
; 2     5/31/01 3:24p Anandj
; Changed the IO_DELAY macro and created IO_DELAY_BB for stackless use
;
; 1     5/25/01 1:38p Anandj
; First Check in on CORE database
;
; 5     5/10/01 4:51p Sudhakaro
; Updated to use the macro SET_ORG instead of  ORG directive, so that
; MAPGUARD can detect the code overlap problems.
;
; 4     5/01/01 3:04p Sudhakaro
; Updated for <INS> and <END> key functionality during POST by shared
; data segment (BBLK_DSEG) between BootBlock and POST modules.
;
; 2     3/28/01 12:42p Sudhakaro
; Updated for TBLv1.1 integration
;
; 9     3/01/01 5:01p Juand
; Added include ek.equ for Table Driven POST.  Removed multiple copyright
; blocks.
;
; 8     2/21/01 1:54p Juand
; Deleted temporary module id 30h that was being used for the BIGBIOS
; module.
; Created two new module_ids for SLAB and BCP data
;
; 7     2/20/01 9:22a Juand
; Deleted unused equates.
;
; 6     2/05/01 10:49a Juand
; Removed I2O equate.
;
; 5     1/11/01 5:29p Juand
; Removed int13 odule Header
;
; 4     12/14/00 6:04p Juand
; Removed RUNTIME Header structure definition.
;
; 3     11/21/00 1:50p Juand
; BigBIOS changes.
;
; 2     1/31/00 7:04p Juand
; Added Inclusion guard.
;
; 1     11/29/99 11:48a Debkumar
; Initial CheckIn for Core 7.00.
;
; 2     3/16/99 6:27p Robertj
; Added initial ADM code (beta version)
;
; 3     1/05/98 11:42a Debkumar
; New module IDs added. ARMD emulation type added.
;
; 1     9/16/97 11:22a Debkumar
; Files changed from 063000 to 063001
;
; 3     5/23/97 7:41a Debkumar
; Equates added for ACPI Table Module ID (0Fh) and ACPI AML Module ID
; (10h)
;
; 2     3/12/97 3:51p Debkumar
; Module ID for OEM Logo Module added.
;
; 1     1/31/97 11:30a Debkumar
; New files for 62700.
;
; 2     1/09/97 3:42p Debkumar
; Equates added for Password used, FDD/HDD access control bits used in
; 40:EA.
;
; 1     1/02/97 10:50a Debkumar
; Started with 6.26.02 files.
;
; 9     12/30/96 2:03p Debkumar
; ROMID and INT13 module IDs added.
;
; 1     11/04/96 6:06p Debkumar
;
; 8     11/01/96 11:40a Debkumar
; ROMID Module ID equate (0Ch) added.
;
; 2     8/28/96 9:14a Mandal
; Synchronized with bestlink current changes for 6.26 release with USB
; support, INT10.BIN module, HDISK/CDROM changes.
;
; 6     4/03/96 6:33p Mandal
; MPS module ID added.
;
; 3     2/19/96 6:47p Mandal
; BBLK_RUNTIME_INTERFACE_MODULE_ID equate added.
;
; 2     1/12/96 5:06p Dickh
; Added SourceSafe keywords to track revision history.
;****************************************************************************
;****************************************************************************


;---------------------------------------;
;	COMPRESSED BIOS EQUATES		;
;---------------------------------------;
setup_binary_module_id	equ	04h	; SETUP Binary identifier
bblk_runtime_interface_module_id equ 08h; Module containing uncompress routine
notebook_module_id	equ	0Ah	; NoteBook BIOS Module identifier
romid_module_id		equ	0Ch	; ROMID Module identifier
oem_logo_module_id	equ	0Eh	; OEM Logo Module identifier
acpi_table_module_id	equ	0Fh	; ACPI Table Module identifier
acpi_aml_module_id	equ	10h	; ACPI AML Code Module identifier
micro_code_module_id	equ	11h	; P6 Micro Code Module identifier
  micro_code_patch_length 	equ 08h	; #of bytes added to Micro code..this
					; helps us update BIOS checksum when
					; micro code gets updated in runtime
					; IF THIS EUQATE GETS CHANGED, NECESSARY
					; CHANGES NEEDS TO BE DONE IN CORE.MAK FILE
memory_size_module_id	equ	15h	; Memory Sizing Module identifier
bios_debug_module_id	equ	17h	; BIOS Debug Module identifier
adm_module_id		equ	18h	; Display Manager Module identifier
adm_font_module_id	equ	19h	; Font Module identifier
small_logo_module_id	equ	1ah	; Small Logo(s) Module identifer
slab_module_id		equ	1bh	; Single Link Arch BIOS Module identifier
bcp_info_module_id	equ	1ch	; BCP data area module identifier
					; 1D-1F..Reserved for future use
					; 20-2F..For User defined module
pci_option_rom_id	equ	20h	; PCI Option ROM identifier
multi_language_module_id equ	21h	; Multi Language identifier
					; 30-3F..Reserved for future use
serial_redir_module_id  equ     2fh
parties_logo_module_id	equ     30h
osb_logo_module_id	equ	31h	; On Screen Branding Logo Package
					; F0-FF..Reserved for OEM use, these
					; IDs should never be used by AMI.


;-----------------------------------------------------------------------;
;			BOOT DRIVE EQUATES				;
;-----------------------------------------------------------------------;
hdd0_boot_drive		equ	01h
hdd1_boot_drive		equ	hdd0_boot_drive+1
hdd2_boot_drive		equ	hdd1_boot_drive+1
hdd3_boot_drive		equ	hdd2_boot_drive+1
hdd4_boot_drive		equ	hdd3_boot_drive+1
hdd5_boot_drive		equ	hdd4_boot_drive+1
hdd6_boot_drive		equ	hdd5_boot_drive+1
hdd7_boot_drive		equ	hdd6_boot_drive+1
fdd0_boot_drive		equ	hdd7_boot_drive+1
fdd1_boot_drive		equ	fdd0_boot_drive+1
afd_boot_drive		equ	fdd1_boot_drive+1
afd_hdd_boot_drive	equ	afd_boot_drive+1
cd_boot_drive		equ	afd_hdd_boot_drive+1
scsi_boot_drive		equ	cd_boot_drive+1
network_boot_drive	equ	scsi_boot_drive+1


;---------------------------------------;
;	MISCELLANEOUS EQUATES		;
;---------------------------------------;
level_1_int		equ	70h	; master int controller base
level_2_int		equ	08	; slave  int controller base
beep_one_on_time	equ	0e0h	; speaker on time
beep_one_off_time	equ	0d0h	; speaker off time
beep_one_envelope_time	equ	080h	; envelope time for single beep
beep_error_off_time	equ	6	; silence period for error beep


;---------------------------------------;
;	8254 TIMER EQUATES		;
;---------------------------------------;
timer_control_port	equ	43h	; 8254 control register
timer_2_port		equ	42h	; 8254 ch_2 select
timer_1_port		equ	41h	; 8254 ch_1 select
timer_0_port		equ	40h	; 8254 ch_0 select
timer_delta_wait_time	equ	10h	; time for delta count test
timer_delta_count_diff	equ	10	; tollerable delta count diff
timer_delta_1_data	equ	0ffh	; data for delta count 1 test
timer_delta_2_data	equ	0eeh	; data for delta count 2 test
refresh_delta_count_diff	equ	10 ; refresh duty tolerance.


;---------------------------------------;
;	8042 KB CONTROLLER EQUATES	;
;---------------------------------------;
kb_stat_port		equ	64h	; keyboard status port
sound_port		equ	61h	; parity,refresh,sound,timer ..
refresh_port		equ	61h
kb_data_port		equ	60h	; keyboard data port
kb_buffer_wait_time	equ	12	; kb buffer full loop count


;---------------------------------------;
;	CMOS EQUATES			;
;---------------------------------------;
cmos_addr_port		equ	70h	; address selection port
cmos_data_port		equ	71h	; data r/w port
shutdown_code_1		equ	01	; shutdown after memory error
shutdown_code_2		equ	02	; v_mode exception shut code
shutdown_code_3		equ	03	; shutdown after memory test
shutdown_code_6		equ	06	; to display memory size


;---------------------------------------;
;	VIRTUAL MODE EQUATES		;
;---------------------------------------;
v_mode_msw		equ	0001h	; virtual mode machine status
v_mode_idt_size		equ	0100h	; virtual mode IDT segment size
v_mode_dum_size		equ	0000h	; virtual mode dummy seg size
v_mode_dum_offs		equ	0000h	; virtual mode dummy offset
v_mode_ds_size		equ	0fc00h	; virtual mode (DS) seg size
v_mode_ds_offs		equ	0400h	; virtual mode (DS) offset
v_mode_es_size		equ	0ffffh	; virtual mode (ES) seg size
v_mode_es_offs		equ	0000h	; virtual mode (ES) offset
v_mode_ss_size		equ	0100h	; virtual mode (SS) seg size
v_mode_ss_offs		equ	0300h	; virtual mode (SS) offset
v_mode_cs_size		equ	0ffffh	; virtual mode (CS) seg size
v_mode_cs_offs		equ	0000h	; virtual mode (CS) offset
v_mode_es_entry		equ	40h	; virtual mode (ES) entry  ,,


;---------------------------------------;
;	8237 DMA CONTROLLER EQUTES	;
;---------------------------------------;
dma_1_byte_ptr_ff_reset	equ	0ch	; DMA unit 1 byte ptr f/f clear
dma_unit_1_command_port	equ	08h	; DMA unit 1 command port
dma_unit_1_base		equ	00h	; DMA unit 1 base
dma_unit_1_mask_clear	equ	0eh	; DMA unit 1 mask clear
dma_unit_1_mode		equ	0bh	; DMA unit 1 mode
dma_unit_1_master_clear	equ	0dh	; DMA unit 1 reset port
dma_2_byte_ptr_ff_reset	equ	0d8h	; DMA unit 2 byte ptr f/f clear
dma_unit_2_master_clear	equ	0dah	; DMA unit 2 reset port
dma_unit_2_command_port	equ	0d0h	; DMA unit 2 command port
dma_unit_2_base		equ	0c0h	; DMA unit 2 base
dma_unit_2_mask_clear	equ	0dch	; DMA unit 2 mask clear
dma_unit_2_mode		equ	0d6h	; DMA unit 2 mode
dma_unit_2_writ_req_reg	equ	0d2h	; DMA unit 2 write request
dma_unit_2_mask_s_r_reg	equ	0d4h	; DMA unit 2 mask set reset
dma_page_base		equ	80h	; DMA page register base
dma_page_ch_1		equ	87h	; DMA page channel 1
dma_page_ch_2		equ	83h	; DMA page channel 2
dma_page_registers	equ	16	; DMA page registers count
dma_channel_registers	equ	8	; DMA channel registers count


;---------------------------------------;
;	8259 INTERRUPT CNTLR EQUATES	;
;---------------------------------------;
i_m_m_port		equ	21h	; interrupt master mask port
i_s_m_port		equ	0a1h	; interrupt slave mask port
i_c_m_port		equ	20h	; interrupt cntlr master port
i_c_s_port		equ	0a0h	; interrupt cntlr slave port



;---------------------------------------;
;	E-820 information structure	;
;---------------------------------------;

;<AMI_SHDR_START>
;----------------------------------------------------------------------------
; Name:		e820_info_struc
;
; Fields:	 Name		Type		Description
;		------------------------------------------------------------
;		start_addr	DWORD		32-bit start address
;		size_bytes	DWORD		size in bytes
;		mem_type	byte		memory type
;
; Description:	Structure used to define E820 information by the BIOS as well
;		as emodules.
;
;		different available memory types are
;		"!!!! only Following types are reported to OS !!!!"
;		ram_os(01h)	-	 memory type available to OS
;		ram_res(02h)	-	 memory type reserved by system and
;					 must not be used by OS
;		ram_acpi_data(03h)-	 ACPI Reclaim data area
;		ram_acpi_nvs(04h)-	 ACPI NVS area
;
;		"!!!! FOR BIOS INTERNAL PURPOSE ONLY !!!!"
;		ram_dummy(0FFh)		 Dummy entry for BIOS internal use.
; 		"!!!! Addition for memory above 4GB !!!!"
;		ram_os_1M(081h)	-	 memory type available to OS the upper
;					 bit means he granularity is 1MB.
;					 While reporting we have to convert
;					 memory in no of bytes and reset the
;					 upper bit for memory type.
;
;
;
;----------------------------------------------------------------------------
;<AMI_SHDR_END>

e820_info_struc	struc
	start_addr	dd	?	; 32-bit start address
	size_bytes	dd	?	; size in bytes
	mem_type	db	?	; memory type
e820_info_struc	ends

ram_os			equ	01h	; memory type available to OS
ram_res			equ	02h	; memory type reserved by system and
					; must not be used by OS
ram_acpi_data		equ	03h	; ACPI Reclaim data area
ram_acpi_nvs		equ	04h	; ACPI NVS area
ram_dummy		equ	0FFh	; Dummy entry for BIOS internal use.

; Addition for memory above 4GB "!!!! FOR INTERNAL PURPOSE ONLY !!!!"
ram_os_1M		equ	081h	; memory type available to OS
					; the upper bit means he granularity
					; is 1MB.
					; While reporting we have to convert
					; memory in no of bytes and reset the
					; upper bit for memory type.
										;

;---------------------------------------;
;  FDD/HDD Access Control Equates	;
;  in 40:EA (OEM_SUPPORT_BYTE)		;
;---------------------------------------;
password_used_bit	equ	00000001b; Bit-0 = 0..No Password or Supervisor Password used
					;	   1..User Password used
fdd_remove_bit		equ	00000010b; Bit-1 = 0..FDD is present
					;	   1..FDD is removed
fdd_access_control_bit	equ	00000100b; Bit-2 = 0..FDD R/W
					;	   1..FDD R/O
hdd_access_control_bit	equ	00001000b; Bit-3 = 0..HDD R/W
					;	   1..HDD R/O
					; Bit7-4 = Not Used
;---------------------------------------;
;	ARMD Device Emulation Type	;
;---------------------------------------;
armd_fdd_emulation	equ	00h	; 00 -> ARMD to be emulated as Floppy
armd_hdd_emulation	equ	01h	; 01 -> ARMD to be emulated as Hard Disk
;------------- BIOS_SCRATCH ------------;
bios_f_shadow_bit		equ	00000001b; F000 shadow information
					;	0 = Disabled
					;	1 = Enabled
bios_e_shadow_bit		equ	00000010b; E000 shadow information
					;	0 = Disabled
					;	1 = Enabled
				; Bit3-2........NOT USED
floppy_error_bit		equ	00010000b; POST Floppy Error Status
					;	0 = FDD ok
					;	1 = FDD error
acpi_aware_os_bit		equ	00100000b; ACPI Aware OS Information
					;	0 = Not an ACPI Aware OS
					;	1 = ACPI Aware OS
bios_post_complete_bit		equ	01000000b; BIOS POST information
					;	0 = POST not complete
					;	1 = POST complete
int19_display_bit		equ	10000000b; Active display during INT19
					;	0 = BIOS display
					;	1 = OEM display

;------------- RT_CMOS_BYTE ------------;
rt_cmos_os2_bit		equ	10000000b; bit-7 = OS2 compatibilty mode
rt_cmos_ps2_bit		equ	01000000b; bit-6 = PS2 Mouse support
rt_cmos_virus_bit	equ	00100000b; bit-5 = virus protection
rt_cmos_password_bit	equ	00010000b; bit-4 = password check
rt_cmos_parity_bit	equ	00001000b; bit-3 = parity check
rt_cmos_6064_bit	equ	00000100b; bit-2 = 60/64 emulation
					 ; bit1-0..not used

;-----------------------------------------------------------------------;
;			CONTROLLER_DETAILS_STRUC			;
;-----------------------------------------------------------------------;
CHANNEL_DETAILS_STRUC	struc
  wBasePortAddress		dw	?	; Base Port Address
  wControlPortAddress		dw	?	; Control Port Address
  wBusMasterPortAddress		dw	?	; Bus Master Port Address
  wPtrISR			dw	?	; ptr to IRQ ISR
  bIRQ				db	?	; IRQ Value
  wBusDeviceFunction		dw	?	; Bus#, Device#, Function#
CHANNEL_DETAILS_STRUC	ends

;-----------------------------------------------------------------------;
;			bMiscInfo Details				;
;-----------------------------------------------------------------------;
; following information is built from setup question
i13_virus_protection_bit	equ	00000001b; bit-0 = virus protection information
						 ;	   0 = disabled, 1 = enabled
; following information is built from IDE_PARAM_VALIDATE_BIT in _MISC_INFO byte
i13_ata_parameter_validate_bit	equ	00000010b; bit-1 = ATA parameter validate information
						 ;	   0 = do not vaildate user selection
						 ;	   1 = validate user selection
i13_fdd_setup_bit		equ	00000100b; bit-2 = FDD init information
						 ;	   0 = do not execute FDD setup
						 ;	   1 = execute FDD setup
i13_display_smart_status_bit	equ	00001000b; bit-3 = Display SMART staus information
						 ;	   0 = do not display SMART status
						 ;	   1 = display SMART status
i13_display_dma_status_bit	equ	00010000b; bit-4 = Display DMA staus information
						 ;	   0 = do not display DMA status
i13_activate_INT13_ISR_bit		equ	00100000b; bit-5 = 1 to

;						 ; Bit7-5= not used

;-----------------------------------------------------------------------;
;		ATA(PI) INFORMATION USED BY SETUP SERVER		;
;-----------------------------------------------------------------------;
SETUP_ATA_INFO_STRUC	struc
	bType		db	?	; device type 0/1/2/3 for None/HDD/CDROM/ARMD
	wInfo		dw	?	; bit-mapped information (bit definitions, see below)
	wCylinder	dw	?	; #of cylinders (1-based)
	bHead		db	?	; #of heads (1-based)
	bSPT		db	?	; #of sectors per track
	dNoOfSectors	dd	?	; total #of sectors
	bPIOMode	db	?	; PIO Mode
	bADMAMode	db	?	; Async DMA Mode (single/multi word depends on the INFO Word)
	bUDMAMode	db	?	; Sync (Ultra) DMA Mode
	bMultiSector	db	?	; #of sectors that can be xferred in one interrupt
	bSizeString	db     8 dup (?); ASCIIZ Size string
	bVendorString	db    41 dup (?); ASCIIZ Vendor string
SETUP_ATA_INFO_STRUC	ends

;-----------------------------------------------------------------------;
;			SETUP_ATA_TABLE					;
; this table contains the information regarding the base address and the;
; device selection value to be used by BIOS for auto-detecting all the	;
; ATA(PI) devices before going to Setup.				;
;-----------------------------------------------------------------------;
SETUP_ATA_TABLE_STRUC STRUC
	wBasePortAddress	dw	?	; base port address
	bDeviceSelection	db	?	; 80h/81h for master/slave
SETUP_ATA_TABLE_STRUC ENDS

;-----------------------------------------------------------------------;
;	INFO WORD DETAILS in SETUP_ATA_INFO_STRUC			;
;-----------------------------------------------------------------------;
chs_bit			equ	00000001b; bit-0 = 1..CHS information valid
pio_bit			equ	00000010b; bit-1 = 1..PIO supported
block_bit		equ	00000100b; bit-2 = 1..block xfer supported
lba_bit			equ	00001000b; bit-3 = 1..LBA translation supported
smart_bit		equ	00010000b; bit-4 = 1..SMART supported
async_sw_dma_bit	equ	00100000b; bit-5 = 1..Async SingleWord DMA supported
async_mw_dma_bit	equ	01000000b; bit-6 = 1..Async MultiWord DMA supported
sync_dma_bit		equ	10000000b; bit-7 = 1..Sync DMA supported

;-----------------------------------------------------------------------;
;			BOOT_BLOCK_FLAG					;
; these bits define the different programming options based on the keys	;
; pressed during power-on.						;
;-----------------------------------------------------------------------;
; NOTE: the HALT_AFTER_PRGRAM_BIT is build during BIOS building, all other
; bits are set/reset properly in recovery code according to the forced
; recovery condition (e.g. key-strokes pressed) during power-on.
halt_after_program_bit	equ	00000001b; bit-0 = 0..reset after programming
					 ;	   1..halt after programming
destroy_cmos_bit	equ	00000010b; bit-1 = 0..do not destroy cmos
					 ;	   1..destroy cmos
destroy_nvram_bit	equ	00000100b; bit-2 = 0..do not destroy NVRAM
					 ;	   1..destroy NVRAM
recovery_request_bit	equ	00001000b; bit-3 = 0..Do not force FLASH recovery
					 ;         1..Force FLASH recovery
recovery_result_bit	equ	00010000b; bit-4 = 0..FLASH recovery success
					 ;         1..FLASH recovery failed
					 ; bit-5.....reserved for future use
rom_checksum_bit	equ	01000000b; bit-6 = 0..existing ROM checksum good
					 ;	   1..existing ROM checksum bad
flash_program_bit	equ	10000000b; bit-7 = 0..do not program Flash part
					 ;	   1..program Flash part

;-----------------------------------------------------------------------;
;		ATAPI DEVICE SUPPORT IN BOOT BLOCK RECOVERY		;
;-----------------------------------------------------------------------;
;			ATAPI_HARDWARE_ENTRY				;
;-----------------------------------------------------------------------;
ATAPI_HARDWARE_ENTRY_STRUC	struc
	wBasePort		dw	?	; Base Port Address
	wControlPort		dw	?	; Control Port Address
	bDriveSelection		db	?	; Drive Selection Parameter
	bIRQ			db	?	; IRQ used
ATAPI_HARDWARE_ENTRY_STRUC	ends

;-----------------------------------------------------------------------;
;			ATAPI_HARDWARE_INFO				;
;-----------------------------------------------------------------------;
ATAPI_HARDWARE_INFO_STRUC	struc
	wNoEntry		dw	?	; #of entries present
ATAPI_HARDWARE_INFO_STRUC	ends


;-----------------------------------------------------------------------;
;		WFM LOCKOUT CAPABILITIES BIT MAP DEFINITION		;
;-----------------------------------------------------------------------;
;				     1         0
;				5432109876543210
wfm_hard_onoff_bit	equ	0000000000000001b; bit-0, Reserved (No longer used)
wfm_soft_onoff_bit	equ	0000000000000010b; bit-1, Soft On/Off
wfm_reset_switch_bit	equ	0000000000000100b; bit-2, Reset Button
wfm_mouse_bit		equ	0000000000001000b; bit-3, Mouse
wfm_ctrl_alt_del_bit	equ	0000000000010000b; bit-4, Ctrl-Alt-Del
wfm_all_key_ecad_bit	equ	0000000000100000b; bit-5, All Keyboard Activity except Ctrl-Alt-Del

wfm_not_used_bits	equ	1111111111000000b; bit15-6..Not used


;-----------------------------------------------------------------------;
;	INFORMATION ABOUT THE MEMORY SIZING MODULE OUTSIDE BOOTBLOCK	;
;-----------------------------------------------------------------------;
;		MEMORY SIZING MODULE INFO STRUCTURE			;
; this information will be present at the start of memory sizing code.	;
;-----------------------------------------------------------------------;
MEMORY_SIZING_INFO_STRUC	struc
	dEntryOffset	dd	1 dup (?)	; entry offset of memory sizing code
	wEntrySelector	dw	1 dup (?)	; entry selector of memory sizing code
	wOffsetGDTLabel	dw	1 dup (?)	; pointer to GDT Label having GDT table address and length
	wOffsetGDTTable	dw	1 dup (?)	; pointer to GDT Table
MEMORY_SIZING_INFO_STRUC	ends

;-----------------------------------------------------------------------;
;	 	GDT LABEL STRUCTURE IN MEMORY SIZING MODULE		;
; the GDT Label contains information about the length and the physical	;
; address of the GDT table.						;
;-----------------------------------------------------------------------;
MEMORY_SIZING_GDT_LABEL_STRUC	struc
  wLength		dw	1 dup (?)	; length (0-based) of GDT table
  dGDTTableAddress	dd	1 dup (?)	; 32Bit physical address of GDT table
MEMORY_SIZING_GDT_LABEL_STRUC	ends

;-----------------------------------------------------------------------;
;	 	GDT TABLE STRUCTURE IN MEMORY SIZING MODULE		;
; the GDT Table information which is present in memory sizing module.	;
;-----------------------------------------------------------------------;
MEMORY_SIZING_GDT_TABLE_STRUC	struc
  bDummyDescriptor		db	8 dup (?)	; dummy descriptor
  bMemorySizeCodeDescriptor	db	8 dup (?)	; memory sizing code descriptor
  bMemorySizeDataDescriptor	db	8 dup (?)	; memory sizing data descriptor
  b4GBCodeDescriptor		db	8 dup (?)	; Flat mode code descriptor
  b4GBDataDescriptor		db	8 dup (?)	; Flat mode data descriptor
  bF000CodeDescriptor		db	8 dup (?)	; F000 code descriptor
  bF000DataDescriptor		db	8 dup (?)	; F000 data descriptor
MEMORY_SIZING_GDT_TABLE_STRUC	ends

;-----------------------------------------------------------------------;
ss_value_for_cs		equ	offset MEMORY_SIZING_GDT_TABLE_STRUC.bMemorySizeDataDescriptor
ss_value_for_f000	equ	offset MEMORY_SIZING_GDT_TABLE_STRUC.bF000DataDescriptor
flat_ds_value		equ	offset MEMORY_SIZING_GDT_TABLE_STRUC.b4GBDataDescriptor
;-----------------------------------------------------------------------;


;-----------------------------------------------------------------------;
CDROM_BUF_LENGTH	equ	80h
;-----------------------------------------------------------------------;


;============================================================================
; For eKernel [Start]
;============================================================================
ASCII_CHAR_CR			EQU	0Dh
ASCII_CHAR_LF			EQU	0Ah
TRUE				EQU	0FFh
FALSE				EQU	00


;----------------------------------------------------------------------------
;		Structure used in TDB
;----------------------------------------------------------------------------

stTblEntryNEAR STRUCT
	EntryPtr	DW	0000h
stTblEntryNEAR ENDS


stIDAndTblEntryNEAR STRUCT
	EntryID		DW	0000h
	EntryPtr	DW	0000h
stIDAndTblEntryNEAR ENDS


stTblEntryFAR STRUCT
	EntryPtr	DD	0000h
stTblEntryFAR ENDS


stIDAndTblEntryFAR STRUCT
	EntryID		DW	0000h
	EntryPtr	DD	0000h
stIDAndTblEntryFAR ENDS


;============================================================================
; B I T 	E Q U A T E S
;============================================================================
BIT_0				EQU	01h
BIT_1				EQU	02h
BIT_2				EQU	04h
BIT_3				EQU	008h
BIT_4				EQU	010h
BIT_5				EQU	020h
BIT_6				EQU	040h
BIT_7				EQU	080h
BIT_8				EQU	0100h
BIT_9				EQU	0200h
BIT_10				EQU	0400h
BIT_11				EQU	0800h
BIT_12				EQU	01000h
BIT_13				EQU	02000h
BIT_14				EQU	04000h
BIT_15				EQU	08000h
BIT_16				EQU     010000h
BIT_17				EQU	020000h
BIT_18				EQU	040000h
BIT_19				EQU	080000h
BIT_20				EQU	0100000h
BIT_21				EQU	0200000h
BIT_22				EQU	0400000h
BIT_23				EQU	0800000h
BIT_24				EQU	01000000h
BIT_25				EQU	02000000h
BIT_26				EQU	04000000h
BIT_27				EQU	08000000h
BIT_28				EQU	010000000h
BIT_29				EQU	020000000h
BIT_30				EQU	040000000h
BIT_31				EQU	080000000h

BIT0				equ	001h
BIT1				equ	002h
BIT2				equ	004h
BIT3				equ	008h
BIT4				equ	010h
BIT5				equ	020h
BIT6				equ	040h
BIT7				equ	080h
BIT8				equ	100h
BIT9				equ	200h
BIT10				equ	400h
BIT11				equ	800h
BIT12				equ	1000h
BIT13				equ	2000h
BIT14				equ	4000h
BIT15				equ	8000h
BIT16				equ	10000h
BIT17				equ	20000h
BIT18				equ	40000h
BIT19				equ	80000h
BIT20				equ	100000h
BIT21				equ	200000h
BIT22				equ	400000h
BIT23				equ	800000h
BIT24				equ	1000000h
BIT25				equ	2000000h
BIT26				equ	4000000h
BIT27				equ	8000000h
BIT28				equ	10000000h
BIT29				equ	20000000h
BIT30				equ	40000000h
BIT31				equ	80000000h


;============================================================================
; C M O S
;============================================================================
CMOS_DIAG_STS_0Eh		EQU	08Eh
  CDS_0Eh_DATE_TIME_ERR_BIT	EQU	BIT_2
  CDS_0Eh_HDD_ERR_BIT		EQU	BIT_3
  CDS_0Eh_INVALID_CONFIG_BIT	EQU	BIT_5
  CDS_0Eh_BAD_CHECKSUM_BIT	EQU	BIT_6
  CDS_0Eh_RTC_LOST_POWER_BIT	EQU	BIT_7
CMOS_SHUTDOWN_STS_0Fh		EQU	08Fh
CMOS_MACHINE_CONFIG_14h		EQU	094h
CMOS_BASE_MEM_LOW_15h     	EQU	095h
CMOS_BASE_MEM_HIGH_16h     	EQU	096h
CMOS_KB_MEM_LOW_17h		EQU	097h
CMOS_KB_MEM_HIGH_18h		EQU	098h
CMOS_KB_MEM_LOW_30h    		EQU	0B0h
  CMOS_30h_FLASH_UPDATE_REQ_SIGN EQU	055AAh
CMOS_KB_MEM_HIGH_31h		EQU	0B1h
CMOS_SCRATCH_33h       		EQU	0B3h
  CSCR_33h_CACHE_GOOD_BIT	EQU	00000001b
  CSCR_33h_SOFT_RESET_BIT	EQU	00000100b
  CSCR_33h_FLASH_UPDATE_REQ_BIT	EQU	01000000b
  CSCR_33h_MEM_EXPANSION_BIT	EQU	10000000b
CMOS_SCRATCH_34h       		EQU	0B4h
CSCR_34h_NVRAM_PRESENT_BIT	EQU	10000000b
CMOS_MB_MEM_LOW_35h    		EQU	0B5h
CMOS_MB_MEM_HIGH_36h		EQU	0B6h


;============================================================================
; C O M P O N E N T	I D s	F O R	 B I O S    C O M P O N E N T S
;============================================================================
;; 000h-03Fh : CIDs for CORE compnents.
CID_KERNEL			EQU	000h
CID_CPU				EQU	001h
CID_FLASH			EQU	002h
CID_SUPER_IO			EQU	003h
;; 040h-04Fh : CIDs for CHIPSET compnents.
CID_CHIPSET_BASE		EQU	040h
CID_NORTH_BRIDGE		EQU	041h
CID_SOUTH_BRIDGE		EQU	042h
;; 050h-06Fh : CIDs for BOARD compnents.
CID_BOARD_BASE			EQU	050h
CID_OEM				EQU	051h
;; 070h-07Fh : CIDs RESERVED for future use.
CID_CUSTOM_FOR_OEM		EQU	070h
;; 080h-0BFh : CIDs for optional eMODULEs.
CID_SMI				EQU	080h
CID_USB				EQU	081h
CID_ACPI			EQU	082h
CID_SMBIOS			EQU	083h
CID_SREDIR			EQU	084h
CID_DEBUGGER			EQU	085h
;; 0C0h-0F9h : CIDs RESERVED for future use.
;; 0FAh-0FFh : CIDs for temperory usage till a unique CID is allocated.
CID_TEMP_0			EQU	0FAh
CID_TEMP_1			EQU	0FBh
CID_TEMP_2			EQU	0FCh
CID_TEMP_3			EQU	0FDh
CID_TEMP_4			EQU	0FEh
CID_UNDEFINED			EQU	0FFh


;============================================================================
; B I O S	T A B L E S
;============================================================================


;----------------------------------------------------------------------------
;		BIOS Table Types
;----------------------------------------------------------------------------
TT_DUMMY			EQU	000h
;;TT_MEM_MAPPED_DEV_INIT		EQU	010h
TT_IO_MAPPED_DEV_INIT		EQU	020h
TT_PCI_DEV_INIT			EQU	030h
TT_QBASED_PCI_DEV_INIT		EQU	031h


;----------------------------------------------------------------------------
;		Structures used in BIOS tables
;----------------------------------------------------------------------------
stBTblInfo	STRUCT
	bTblType		DB	TT_DUMMY
	dProcessingFunc		DD	00000000h
stBTblInfo	ENDS


stBTblHdr	STRUCT
	bTblType		DB	TT_DUMMY
	wTblStart		DW	0000h
	wTblEnd			DW	0000h
	dwData1			DW	0000h
	dData2			DD	00000000h
stBTblHdr	ENDS


stReg	STRUCT
	bRegIndex		DB	0FFh
	bANDMask 		DB	0FFh
	bORMask			DB	00h
stReg	ENDS


stQBasedReg	STRUCT
	wSetupQst		DW	0FFFFh
	bRegIndex		DB	0FFh
	bMappedBitMask 		DB	00h
	dCallBackFn		DD	0000000h
stQBasedReg	ENDS


;============================================================================
; E R R O R	M A N A G E R
;============================================================================
;----------------------------------------------------------------------------
;		Structure to define Error Objects
;----------------------------------------------------------------------------
stBIOSError STRUCT
	wErrorCode		DW	00000h;Bit[0-7] - Error number.
					      ;Bit[8-15] - Module ID.

	wErrorAttrib		DW	00000h;Bit[0-3] - Error type.
	  ERROR_TYPE_MASK	EQU	0000Fh
	    ET_NOT_AN_ERR	EQU	00000h
	    ET_INFORMAL		EQU	00001h
	    ET_WARNING 		EQU	00002h
	    ET_GENERAL	 	EQU	00003h
	    ET_CMOS_RELATED	EQU	00004h
	    ET_FATAL		EQU	00005h
	    ;			EQU	00006h	;Reserved for CORE
	    ;			EQU	00007h  ;Furure use.

	    ET_OEM1		EQU	00008h 	; Types 08-0Fh : can be used bye OEMs

	  MAPS_TO_SMBIOS_ERR_BIT EQU	BIT_4 ;Bit[4]-Set for SMBIOS mapped errs.
					      ;Bit[5-15] - RESERVED.

	wDisplayErrorInfoProcOffset DW	00h; = 0FFFFh for string token.
	wDisplayErrorInfoProcSeg    DW	00h; = Token number for string token.
stBIOSError ENDS

;----------------------------------------------------------------------------
;		Error Codes mapped to SMBIOS Error Bits
;----------------------------------------------------------------------------
;All commented error codes are not implemented in the current CORE.
TIMER_COUNT_RW_ERR		EQU	(CID_KERNEL SHL 8) + 000h ;Bit-00
;MASTER_PIC_ERR			EQU	(CID_KERNEL SHL 8) + 001h ;Bit-01
;SLAVE_PIC_ERR			EQU	(CID_KERNEL SHL 8) + 002h ;Bit-02
CMOS_BATTERY_ERR		EQU	(CID_KERNEL SHL 8) + 003h ;Bit-03
CMOS_DIAG_STS_ERR		EQU	(CID_KERNEL SHL 8) + 004h ;Bit-04
CMOS_CHECKSUM_ERR		EQU	(CID_KERNEL SHL 8) + 005h ;Bit-05
;CMOS_CONFIG_ERR		EQU	(CID_KERNEL SHL 8) + 006h ;Bit-06
;MOUSE_KBD_SWAP_ERR		EQU	(CID_KERNEL SHL 8) + 007h ;Bit-07
KBD_LOCK_ERR			EQU	(CID_KERNEL SHL 8) + 008h ;Bit-08
NO_KBD_ERR			EQU	(CID_KERNEL SHL 8) + 009h ;Bit-09
KBC_BAT_TEST_ERR		EQU	(CID_KERNEL SHL 8) + 00Ah ;Bit-10
CMOS_MEMORY_SIZE_ERR		EQU	(CID_KERNEL SHL 8) + 00Bh ;Bit-11
RAM_RW_TEST_ERR			EQU	(CID_KERNEL SHL 8) + 00Ch ;Bit-12
;CACHE_MEMORY_ERR		EQU	(CID_KERNEL SHL 8) + 00Dh ;Bit-13
FDD_0_ERR 			EQU	(CID_KERNEL SHL 8) + 00Eh ;Bit-14
FDD_1_ERR 			EQU	(CID_KERNEL SHL 8) + 00Fh ;Bit-15
FLOPPY_CONTROLLER_ERR		EQU	(CID_KERNEL SHL 8) + 010h ;Bit-16
;ATA_DRIVES_REDUCED_ERR		EQU	(CID_KERNEL SHL 8) + 011h ;Bit-17
CMOS_DATE_TIME_ERR		EQU	(CID_KERNEL SHL 8) + 012h ;Bit-18
;DDC_MONITOR_CONFIG_CHANGE_ERR	EQU	(CID_KERNEL SHL 8) + 013h ;Bit-19
NO_PS2_MOUSE_ERR     		EQU	(CID_KERNEL SHL 8) + 014h ;Bit-20

	;; No specific errors are defined for Bit[21-38]

	;; in SMBIOS Specification-V2.3. Some of these bits are for OEM
	;; asignment. So, as per as the CORE is conserned, we can use the
	;; corressponding error codes (Error codes from 14h-26h) to define
	;; non-SMBIOS mapped errors, if needed in future.

;PCI_MEM_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 027h ;Bit-39
;PCI_IO_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 028h ;Bit-40
;PCI_IRQ_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 029h ;Bit-41
;PNP_MEM_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 02Ah ;Bit-42
;PNP_MEM32_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 02Bh ;Bit-43
;PNP_IO_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 02Ch ;Bit-44
;PNP_IRQ_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 02Dh ;Bit-45
;PNP_DMA_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 02Eh ;Bit-46
;PNP_SERIAL_ID_CHECKSUM_ERR	EQU	(CID_KERNEL SHL 8 +  02Fh ;Bit-47
;PNP_RS_DATA_CHECKSUM_ERR	EQU	(CID_KERNEL SHL 8) + 030h ;Bit-48
;STATIC_RS_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 031h ;Bit-49
;NVRAM_CHECKSUM_ERR		EQU	(CID_KERNEL SHL 8) + 032h ;Bit-50
;SYSTEM_DEV_RS_CONFLICT_ERR 	EQU	(CID_KERNEL SHL 8) + 033h ;Bit-51
;NO_PRIMARY_OUTPUT_DEV_ERR	EQU	(CID_KERNEL SHL 8) + 034h ;Bit-52
;NO_PRIMARY_INPUT_DEV_ERR	EQU	(CID_KERNEL SHL 8) + 035h ;Bit-53
;NO_PRIMARY_BOOT_DEV_ERR	EQU	(CID_KERNEL SHL 8) + 036h ;Bit-54
;NVRAM_CLEARED_BY_JUMPER_ERR	EQU	(CID_KERNEL SHL 8) + 037h ;Bit-55
;INVALID_NVRAM_DATA_ERR		EQU	(CID_KERNEL SHL 8) + 038h ;Bit-56
;FDC_RS_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 039h ;Bit-57
;PRI_ATA_RS_CONFLICT_ERR	EQU	(CID_KERNEL SHL 8) + 03Ah ;Bit-58
;SEC_ATA_RS_CONFLICT_ERR	EQU	(CID_KERNEL SHL 8) + 03Bh ;Bit-59
;PARALLEL_PORT_RS_CONFLICT_ERR	EQU	(CID_KERNEL SHL 8) + 03Ch ;Bit-60
;SERIAL_PORT1_RS_CONFLICT_ERR	EQU	(CID_KERNEL SHL 8) + 03Dh ;Bit-61
;SERIAL_PORT2_RS_CONFLICT_ERR	EQU	(CID_KERNEL SHL 8) + 03Eh ;Bit-62
;AUDIO_RS_CONFLICT_ERR		EQU	(CID_KERNEL SHL 8) + 03Fh ;Bit-63

;----------------------------------------------------------------------------
;		Error Codes NOT mapped to SMBIOS Error Bits
;----------------------------------------------------------------------------
REFRESH_TIMER_ERR		EQU	(CID_KERNEL SHL 8) + 040h
DISPLAY_MEMORY_ERR		EQU	(CID_KERNEL SHL 8) + 041h
CMOS_DISPLAY_ERR		EQU	(CID_KERNEL SHL 8) + 042h
INSERT_FUNC_KEY_ERR		EQU	(CID_KERNEL SHL 8) + 043h
DMAC_PAGE_REG_ERR		EQU	(CID_KERNEL SHL 8) + 044h
DMAC1_CH_REG_ERR		EQU	(CID_KERNEL SHL 8) + 045h
DMAC2_CH_REG_ERR		EQU	(CID_KERNEL SHL 8) + 046h
PMM_MEM_ALLOC_ERR		EQU	(CID_KERNEL SHL 8) + 047h
PASSWORD_CHECK_ERR		EQU	(CID_KERNEL SHL 8) + 048h
SEGMENT_REG_ERR			EQU	(CID_KERNEL SHL 8) + 049h
ADM_MODULE_ERR			EQU	(CID_KERNEL SHL 8) + 04Ah
LANGUAGE_MODULE_ERR		EQU	(CID_KERNEL SHL 8) + 04Bh
KBC_INTERFACE_ERR		EQU	(CID_KERNEL SHL 8) + 04Ch
HDD_0_ERR 			EQU	(CID_KERNEL SHL 8) + 04Dh
HDD_1_ERR 			EQU	(CID_KERNEL SHL 8) + 04Eh
HDD_2_ERR 			EQU	(CID_KERNEL SHL 8) + 04Fh
HDD_3_ERR 			EQU	(CID_KERNEL SHL 8) + 050h
HDD_4_ERR 			EQU	(CID_KERNEL SHL 8) + 051h
HDD_5_ERR 			EQU	(CID_KERNEL SHL 8) + 052h
HDD_6_ERR 			EQU	(CID_KERNEL SHL 8) + 053h
HDD_7_ERR 			EQU	(CID_KERNEL SHL 8) + 054h
ATAPI_0_ERR 			EQU	(CID_KERNEL SHL 8) + 055h
ATAPI_1_ERR 			EQU	(CID_KERNEL SHL 8) + 056h
ATAPI_2_ERR 			EQU	(CID_KERNEL SHL 8) + 057h
ATAPI_3_ERR 			EQU	(CID_KERNEL SHL 8) + 058h
ATAPI_4_ERR 			EQU	(CID_KERNEL SHL 8) + 059h
ATAPI_5_ERR 			EQU	(CID_KERNEL SHL 8) + 05Ah
ATAPI_6_ERR 			EQU	(CID_KERNEL SHL 8) + 05Bh
ATAPI_7_ERR 			EQU	(CID_KERNEL SHL 8) + 05Ch
ATA_SMART_FEATURE_ERR		EQU	(CID_KERNEL SHL 8) + 05Dh
PASSWORD_CHECK_ERR_NON_CRITICAL	EQU	(CID_KERNEL SHL 8) + 05Eh
DUMMY_BIOS_ERR			EQU	(CID_KERNEL SHL 8) + 0FFh

UNDEFINED_BIOS_ERROR		EQU	(CID_UNDEFINED SHL 8) + 0FFh
;----------------------------------------------------------------------------
;		Error Attributes
;----------------------------------------------------------------------------
ATTRIB_DUMMY_BIOS_ERR		EQU	ET_NOT_AN_ERR

;----------------------------------------------------------------------------
;		Structure to define beeps codes for BIOS errors
;----------------------------------------------------------------------------
stBeepCode STRUCT
	wErrorCode		DW	00000h;Error Code.
	bBeepCode		DB	000h  ;Associated beep code.
stBeepCode ENDS

;----------------------------------------------------------------------------
;		Beep Codes
;----------------------------------------------------------------------------
BC_REFRESH_TIMER_ERR	EQU	001h
BC_RAM_RW_TEST_ERR	EQU	003h
BC_KBC_BAT_TEST_ERR	EQU	006h
except_err_beep_count	EQU	007h	; Exception interrupt.
BC_DISPLAY_MEMORY_ERR	EQU	0008h


;============================================================================
; I N P U T	D E V I C E
;============================================================================
;----------------------------------------------------------------------------
;		Structure to define BIOS key objects
;----------------------------------------------------------------------------
stBIOSKey STRUCT
	wScanCode		DW	00000h
	dORMaskForUserReq	DD	00000h
stBIOSKey ENDS


;============================================================================
; O U T P U T	D E V I C E
;============================================================================
CURSOR_POS_FOR_BIOS_VERSION_INFO EQU	01300h
CURSOR_COLUMN_FOR_IDE_INFO 	EQU	0Ch
DEFAULT_TEXT_ATTRIB		EQU	07h

;----------------------------------------------------------------------------
;		Output API equates
;----------------------------------------------------------------------------
GET_VIDEO_MODE_FN		EQU	00h
SET_VIDEO_MODE_FN		EQU	01h
GET_CURSOR_POS_FN		EQU	02h
SET_CURSOR_POS_FN		EQU	03h
SET_CURSOR_TYPE_FN		EQU	04h
DISPLAY_ATTRIB_CHAR_FN		EQU	05h
READ_ATTRIB_CHAR_FN		EQU	06h
DISPLAY_ATTRIB_TOKEN_MSG_FN	EQU	07h
LAST_RT_OUTPUT_API_FN		EQU	07h
DISPLAY_LOGO_FN			EQU	08h
DISPLAY_TOKEN_MESSAGE_UNBUFFERED EQU 	09h
;============================================================================
; For eKernel [End]
;============================================================================



;****************************************************************************
;****************************************************************************
;**                                                             	   **
;**      	(C)Copyright 1985-2001, American Megatrends, Inc.          **
;**                                                             	   **
;**                    	     All Rights Reserved.          	           **
;**                                                                        **
;**                 6145-F Northbelt Pkwy, Norcross, GA 30071         	   **
;**                                                             	   **
;**                          Phone (770)-246-8600    	                   **
;**                                                             	   **
;****************************************************************************
;****************************************************************************
.list
;End of Inclusion guard
endif	;_mbiosequ_equ_