;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; RDOS operating system ; Copyright (C) 1988-2000, Leif Ekblad ; ; This program is free software; you can redistribute it and/or modify ; it under the terms of the GNU General Public License as published by ; the Free Software Foundation; either version 2 of the License, or ; (at your option) any later version. The only exception to this rule ; is for commercial usage in embedded systems. For information on ; usage in commercial embedded systems, contact embedded@rdos.net ; ; This program is distributed in the hope that it will be useful, ; but WITHOUT ANY WARRANTY; without even the implied warranty of ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ; GNU General Public License for more details. ; ; You should have received a copy of the GNU General Public License ; along with this program; if not, write to the Free Software ; Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ; ; The author of this program may be contacted at leif@rdos.net ; ; DRIVER.DEF ; Device driver fixed GDT selectors. All selectors must be in the ; range 400h-0FFFh and the least 3 significant bits should be 0 ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; ; GDT system selectors ; ; ; do not change order for this, used in boot loader ; idt_sel EQU 8 gdt_sel EQU 10h device_code_sel EQU 18h flat_sel EQU 20h system_data_sel EQU 28h kernel_code EQU 30h ; shutdown_code_sel EQU 38h ; ; processor core selector ; core_data_sel EQU 40h double_tss_sel EQU 48h double_tss_data_sel EQU 50h ; ; used in kernel and device-drivers only ; shutdown_pretask_gate EQU 68h ; process_sel EQU 70h phys_list_sel EQU 78h phys_page_sel EQU 80h temp_sel EQU 88h ; tss_data_sel EQU 90h shutdown_task_gate EQU 98h ; acpi_data_sel EQU 0A8h ; mem_sel EQU 0B0h small_mem_sel EQU 0B8h local_mem_sel EQU 0C0h local_linear_sel EQU 0C8h ; dosb800 EQU 0D0h bios_data EQU 0D8h proc_data_sel EQU 0E0h swap_data_sel EQU 0E8h ; task_sel EQU 0F0h io_bitmap_sel EQU 0F8h ; event_def_sel EQU 100h event_list_sel EQU 108h ; hook_in_sel EQU 110h hook_out_sel EQU 118h ; osgate_sel EQU 120h usergate_sel EQU 128h ; raw_switch_sel16 EQU 130h ; virt_thread_sel EQU 138h ; random_proc_sel EQU 140h ; term_code_sel EQU 14Bh state_data_sel EQU 150h ; multicore_code_sel EQU 160h multicore_data_sel EQU 168h ; kernel_patch_sel EQU 170h kernel_tss EQU 178h virt_tss EQU 180h kernel_stack EQU 188h ; env_proc_sel EQU 190h ; syscall_code_sel EQU 1A0h syscall_data_sel EQU 1A8h ; flat_code_sel EQU 1B3h flat_data_sel EQU 1BBh ; virt_idt_sel EQU 1C0h ; fault_sector_sel EQU 1C8h ; std_dev_process_sel EQU 1D0h ; kernel32_code EQU 1D8h int_data_sel EQU 1E0h def_exception_sel EQU 1E8h ; vm_linear_sel EQU 1F0h vm_int_sel EQU 1F8h ; sysenter_code_sel EQU 200h sysenter_data_sel EQU 208h ; callb_exc16_sel EQU 213h callb_exc32_sel EQU 21Bh callb_int16_sel EQU 223h callb_int32_sel EQU 22Bh callb_vm16_sel EQU 233h callb_vm32_sel EQU 23Bh ; irq_data_sel EQU 240h __0000 EQU 253h __0040 EQU 25Bh __B000 EQU 263h __B800 EQU 26Bh __F000 EQU 273h app_data_sel EQU 278h __A000 EQU 283h __C000 EQU 28Bh handle_sel EQU 290h handle_mem_sel EQU 298h handle_data_sel EQU 2A0h sys_dir_sel EQU 2B0h sys_page_sel EQU 2B8h process_dir_sel EQU 2C0h process_page_sel EQU 2C8h ; ; GDT selectors device-driver selectors ; ; exec_code_sel EQU 3F0h exec_data_sel EQU 3F8h guidev_code_sel EQU 400h guidev_data_sel EQU 408h audio_code_sel EQU 410h audio_data_sel EQU 418h fat_code_sel EQU 420h rdfs_code_sel EQU 428h mon_video_data_sel EQU 438h mail_code_sel EQU 440h mon_video_code_sel EQU 450h video_pos_sel EQU 458h keymap_code_sel EQU 460h keymap_data_sel EQU 468h dos_process_sel EQU 470h dos_vm_sel EQU 47Bh kdebug_code_sel EQU 480h kdebug_data_sel EQU 488h ac97_code_sel EQU 490h pcbios_proc_sel EQU 498h pcbios_code_sel EQU 4A0h pcbios_data_sel EQU 4A8h key_focus_sel EQU 4B0h key_local_sel EQU 4B8h video_state_focus_sel EQU 4C0h video_state_local_sel EQU 4C8h mouse_local_sel EQU 4D0h mouse_focus_sel EQU 4D8h dosemu_code_sel EQU 4E0h dosemu_data_sel EQU 4E8h pci_code_sel EQU 4F0h pci_data_sel EQU 4F8h dpmi_data_sel EQU 500h raw_switch_sel EQU 50Bh dpmi_code16_sel EQU 510h dpmi_code32_sel EQU 518h state_save_sel EQU 523h discbuf_code_sel EQU 530h emulator_code_sel EQU 540h emulator_data_sel EQU 548h sernet_code_sel EQU 550h sernet_data_sel EQU 558h ip_code_sel EQU 560h ip_data_sel EQU 568h env_code_sel EQU 570h socket_code_sel EQU 580h socket_data_sel EQU 588h smp_deb_code_sel EQU 590h smp_deb_data_sel EQU 598h ems_process_sel EQU 5A0h fs_code_sel EQU 5B0h fs_data_sel EQU 5B8h fs_sys_data_sel EQU 5C0h fs_process_sel EQU 5C8h rem_debug_code_sel EQU 5D0h rem_debug_data_sel EQU 5D8h debug_code_sel EQU 5F0h test_sel EQU 5F8h disc_drive_sel EQU 608h mail_local_sel EQU 610h mail_global_sel EQU 618h mousedev_code_sel EQU 620h mousedev_data_sel EQU 628h disc_code_sel EQU 630h disc_data_sel EQU 638h elf_code_sel EQU 640h debug_tss_sel EQU 650h cd_code_sel EQU 660h cd_data_sel EQU 668h net_code_sel EQU 670h net_data_sel EQU 678h net_mem_sel EQU 680h focus_process_sel EQU 688h pnp_code_sel EQU 690h pnp_data_sel EQU 698h video_mem_focus_sel EQU 6A0h video_mem_local_sel EQU 6A8h video_x_focus_sel EQU 6B0h video_x_local_sel EQU 6B8h rs485_code_sel EQU 6C0h rs485_data_sel EQU 6C8h rs485_task_sel EQU 6D0h serial_code_sel EQU 6E0h serial_data_sel EQU 6E8h rtc_code_sel EQU 6F0h rtc_data_sel EQU 6F8h state_code_sel EQU 700h font_code_sel EQU 710h font_data_sel EQU 718h floppy_code_sel EQU 720h floppy_data_sel EQU 728h printer_code_sel EQU 730h printer_data_sel EQU 738h xms_local_sel EQU 740h com_code_sel EQU 750h com_data_sel EQU 758h ramdrive_process_sel EQU 780h flashfs_code_sel EQU 788h ne_code_sel EQU 790h pe_code_sel EQU 7A0h ether_code_sel EQU 7B0h ether_data_sel EQU 7B8h ether_mem_sel EQU 7C0h ppp_code_sel EQU 7D0h ppp_data_sel EQU 7D8h ide_code_sel EQU 7F0h ide_data_sel EQU 7F8h ide_data_sel1 EQU 800h ide_data_sel2 EQU 808h ipc_code_sel EQU 810h ipc_data_sel EQU 818h ether_data2_sel EQU 820h v86_bios_ds_sel EQU 840h v86_bios_es_sel EQU 848h video_proc_sel EQU 860h video_local_sel EQU 870h video_focus_sel EQU 878h piclcd_code_sel EQU 880h piclcd_data_sel EQU 888h vga_code_sel EQU 8A0h vga_data_sel EQU 8A8h power_code_sel EQU 8C0h power_data_sel EQU 8C8h pc_key_code_sel EQU 8D0h pc_key_data_sel EQU 8D8h anio_code_sel EQU 8F0h flash_disc_sel EQU 8F8h ser_key_code_sel EQU 900h ser_key_data_sel EQU 908h dcf_code_sel EQU 910h dcf_data_sel EQU 918h digio_code_sel EQU 920h digio_data_sel EQU 928h flash_disc_code_sel EQU 940h flash_disc_data_sel EQU 948h bsp_code_sel EQU 960h bsp_data_sel EQU 968h touch_code_sel EQU 970h touch_data_sel EQU 978h uhci_code_sel EQU 980h uhci_data_sel EQU 988h usb_code_sel EQU 990h usb_data_sel EQU 998h stdcom_code_sel EQU 9A0h stdcom_data_sel EQU 9A8h usbcom_code_sel EQU 9B0h usbcom_data_sel EQU 9B8h ohci_code_sel EQU 9C0h ohci_data_sel EQU 9C8h ir_code_sel EQU 9D0h ir_data_sel EQU 9D8h audio_dev_code_sel EQU 9E0h audio_dev_data_sel EQU 9E8h wd_code_sel EQU 0A00h wd_data_sel EQU 0A08h hid_code_sel EQU 0A20h hid_data_sel EQU 0A28h ehci_code_sel EQU 0A30h ehci_data_sel EQU 0A38h apic_code_sel EQU 0A40h apic_data_sel EQU 0A48h apic_mem_sel EQU 0A50h pic_code_sel EQU 0A60h pic_data_sel EQU 0A68h util_code_sel EQU 0A70h util_data_sel EQU 0A78h usb_print_code_sel EQU 0A80h usb_print_data_sel EQU 0A88h load_device32_sel EQU 0A90h ahci_code_sel EQU 0AA0h ahci_data_sel EQU 0AA8h freetype_code_sel EQU 0AB0h freetype_data_sel EQU 0AB8h wh1080_code_sel EQU 0AC0h wh1080_data_sel EQU 0AC8h ser_print_code_sel EQU 0AD0h ser_print_data_sel EQU 0AD8h ini_file_code_sel EQU 0AE0h ini_file_data_sel EQU 0AE8h acpi_code_sel EQU 0B00h ;acpi_data_sel EQU 0B08h debug_dev32_code_sel EQU 0EF0h debug_dev32_data_sel EQU 0EF8h video_page0_sel EQU 0F00h video_page1_sel EQU 0F08h video_page2_sel EQU 0F10h video_page3_sel EQU 0F18h video_page4_sel EQU 0F20h video_page5_sel EQU 0F28h video_page6_sel EQU 0F30h video_page7_sel EQU 0F38h