Functions | |
void | setup_os_slot () |
in: edx -> APPDATA for OS/IDLE slot in: ebx = stack base More... | |
void | osloop_has_work () |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MAIN OS LOOP END ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; More... | |
void | wakeup_osloop () |
void | delay_hs_unprotected () |
this is for syscall More... | |
void | syscall_reserveportarea (arg_t edx, arg_t ecx, arg_t ebx, arg_t eax) |
ReservePortArea and FreePortArea. More... | |
void | is_region_userspace (dword base, dword len) |
Check if given memory region lays in lower 2gb (userspace memory) or not. More... | |
void | is_string_userspace (dword base) |
Check whether given string lays in userspace memory, i.e. below OS_BASE. More... | |
Variables | |
db | debug_direct_print |
The following variable, if equal to 1, duplicates debug output to the screen. More... | |
db | launcher_start |
Start the first app (LAUNCHER) after kernel is loaded? (1=yes, 2 or 0=no) More... | |
label | B32 |
dd | bios32_entry |
dd | tmp_page_tabs |
label | ap_init16 |
label | gdts_ap |
dd | cr3_ap |
dd | cr4_ap |
fix | __DEBUG__ |
fix | __DEBUG_LEVEL__ |
label | high_code |
db | use_mwait_for_idle |
label | ahci_code_end |
label | no_lib_load |
label | no_pal_vga |
label | no_pal_ega |
label | ps2_keyboard_functions |
label | first_app_found |
dd | ap_initialized |
label | ap_init_high |
label | boot_log |
label | register_ramdisk |
--------------------------------------------------------------------------— Register ramdisk file system More... | |
label | osloop |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MAIN OS LOOP START ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; More... | |
dd | osloop_nonperiodic_work |
rb | idle_addr |
label | idle_thread |
label | idle_loop |
The following code can be executed by all CPUs in the system. All other parts of the kernel do not expect multi-CPU. Also, APs don't even have a stack here. Beware. Don't do anything here. Anything at all. More... | |
label | reserve_irqs_ports |
dd | process_number |
label | set_variables |
label | display_number |
label | display_number_force |
label | normalize_number |
label | division_64_bits |
label | draw_num_text |
label | sys_setup |
--------------------------------------------------------------------------— More... | |
label | sys_getsetup |
--------------------------------------------------------------------------— More... | |
label | get_timer_ticks |
--------------------------------------------------------------------------— More... | |
label | sys_end |
--------------------------------------------------------------------------— More... | |
label | restore_default_cursor_before_killing |
---------------------------------------------------------------------------— ecx - ptr WDATA More... | |
label | sys_system_table |
label | sys_system |
---------------------------------------------------------------------------— More... | |
label | sysfn_shutdown |
---------------------------------------------------------------------------— 18.9 = system shutdown More... | |
label | shutdown_processes |
label | is_kernel_thread |
---------------------------------------------------------------------------— in: eax – APPDATA ptr out: Z/z – is/not kernel thread More... | |
label | sysfn_terminate |
---------------------------------------------------------------------------— 18.2 = TERMINATE More... | |
label | sysfn_terminate2 |
---------------------------------------------------------------------------— More... | |
label | sysfn_deactivate |
---------------------------------------------------------------------------— 18.1 = DEACTIVATE WINDOW More... | |
label | sysfn_activate |
---------------------------------------------------------------------------— 18.3 = ACTIVATE WINDOW More... | |
label | sysfn_zmodif |
---------------------------------------------------------------------------— More... | |
label | sysfn_getidletime |
---------------------------------------------------------------------------— 18.4 = GET IDLETIME More... | |
label | sysfn_getcpuclock |
---------------------------------------------------------------------------— 18.5 = GET TSC/SEC More... | |
label | get_cpu_freq |
---------------------------------------------------------------------------— More... | |
label | sysfn_getactive |
label | sysfn_sound_flag |
---------------------------------------------------------------------------— 18.8 = get/set sound_flag More... | |
label | sysfn_minimize |
---------------------------------------------------------------------------— 18.10 = minimize window More... | |
label | sysfn_getdiskinfo |
---------------------------------------------------------------------------— 18.11 = get disk info table More... | |
label | sysfn_getversion |
---------------------------------------------------------------------------— 18.13 = get kernel ID and version More... | |
label | sysfn_waitretrace |
---------------------------------------------------------------------------— 18.14 = sys wait retrace More... | |
label | sysfn_centermouse |
---------------------------------------------------------------------------— 18.15 = mouse centered More... | |
label | sysfn_mouse_acceleration |
---------------------------------------------------------------------------— 18.19 = set/get mouse features More... | |
label | sysfn_getfreemem |
---------------------------------------------------------------------------— More... | |
label | sysfn_getallmem |
---------------------------------------------------------------------------— More... | |
label | sysfn_pid_to_slot |
---------------------------------------------------------------------------— More... | |
label | sysfn_min_rest_window |
---------------------------------------------------------------------------— More... | |
label | sysfn_min_windows |
---------------------------------------------------------------------------— More... | |
label | sysfn_set_screen_sizes |
---------------------------------------------------------------------------— More... | |
RECT | screen_workarea |
dd | display_width_standard |
dd | display_height_standard |
db | do_not_touch_winmap |
db | window_minimize |
db | sound_flag |
label | version_inf |
dd | _rev |
label | sys_cachetodiskette |
---------------------------------------------------------------------------— More... | |
label | sys_cpuusage |
---------------------------------------------------------------------------— More... | |
label | sys_redrawstat |
redraw status More... | |
label | sheduler |
label | sys_sheduler |
label | cache_disable |
label | cache_enable |
label | is_cache_enabled |
label | modify_pce |
db | cpustring |
db | background_defined |
diamond, 11.04.2006 More... | |
label | checkmisc |
--------------------------------------------------------------------------— More... | |
label | backgr |
-----------------------------------— More... | |
label | set_bgr_event |
-----------------------------------— More... | |
label | nobackgr |
-----------------------------------— More... | |
label | markz |
-----------------------------------— More... | |
label | no_mark_system_shutdown |
label | noshutdown |
-----------------------------------— More... | |
label | newct |
-----------------------------------— More... | |
label | redrawscreen |
--------------------------------------------------------------------------— eax - ptr to WDATA More... | |
label | newdw2 |
-----------------------------------— More... | |
label | bgli |
-----------------------------------— More... | |
label | newdw8 |
-----------------------------------— More... | |
label | nobgrd |
label | ricino |
-----------------------------------— More... | |
label | not_this_task |
label | calculatebackground |
--------------------------------------------------------------------------— background More... | |
dd | imax |
label | delay_ms |
--------------------------------------------------------------------------— delay in 1/1000 sec More... | |
label | set_app_param |
--------------------------------------------------------------------------— More... | |
label | delay_hs |
delay in 1/100 secs More... | |
label | memmove |
--------------------------------------------------------------------------— very often call this subrutine memory move in bytes More... | |
label | set_io_access_rights |
in: eax = port ebp = subfunction 0 - set access 1 - clear access out: not return value More... | |
label | r_f_port_area |
reserve/free group of ports eax = 46 - number function ebx = 0 - reserve, 1 - free ecx = number start arrea of ports edx = number end arrea of ports (include last number of port) Return value: eax = 0 - succesful eax = 1 - error The system has reserve this ports: 0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (include last number of port). destroys eax,ebx, ebp More... | |
label | drawbackground |
--------------------------------------------------------------------------— More... | |
label | syscall_putimage |
--------------------------------------------------------------------------— PutImage More... | |
label | sys_putimage |
label | sys_putimage_bpp |
-----------------------------------— More... | |
label | sys_putimage_palette |
label | put_mono_image |
--------------------------------------------------------------------------— More... | |
label | put_2bit_image |
--------------------------------------------------------------------------— More... | |
label | put_4bit_image |
--------------------------------------------------------------------------— More... | |
label | putimage_init24bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init8bpp |
label | putimage_init9bpp |
label | putimage_get24bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get8bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get9bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init1bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get1bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init2bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get2bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init4bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get4bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init32bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get32bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init15bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_init16bpp |
label | putimage_get15bpp |
--------------------------------------------------------------------------— More... | |
label | putimage_get16bpp |
--------------------------------------------------------------------------— More... | |
label | _rdtsc |
label | sys_msg_board_str |
label | sys_msg_board_byte |
label | sys_msg_board_word |
label | sys_msg_board_dword |
rb | msg_board_data |
dd | msg_board_count |
dd | msg_board_pos |
for printing debug output on the screen More... | |
label | sys_msg_board |
label | f61call |
label | sys_gs |
direct screen access More... | |
label | syscall_getscreensize |
GetScreenSize. More... | |
label | syscall_cdaudio |
--------------------------------------------------------------------------— More... | |
label | syscall_getpixel_WinMap |
--------------------------------------------------------------------------— GetPixel WinMap More... | |
label | syscall_getpixel |
--------------------------------------------------------------------------— GetPixel More... | |
label | syscall_getarea |
--------------------------------------------------------------------------— More... | |
label | syscall_threads |
label | calculate_fast_getting_offset_for_WinMapAddress |
---------------------------------------------------------------------------— More... | |
label | calculate_fast_getting_offset_for_LFB |
---------------------------------------------------------------------------— More... | |
label | set_screen |
---------------------------------------------------------------------------— More... | |
dp | apm_entry |
dd | apm_vf |
label | sys_apm |
label | undefined_syscall |
Undefined system call. More... | |
void delay_hs_unprotected | ( | ) |
this is for syscall
void is_region_userspace | ( | dword | base, |
dword | len | ||
) |
Check if given memory region lays in lower 2gb (userspace memory) or not.
base | Base address of region |
len | Lenght of region |
void is_string_userspace | ( | dword | base | ) |
Check whether given string lays in userspace memory, i.e. below OS_BASE.
base | Base address of string |
void osloop_has_work | ( | ) |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MAIN OS LOOP END ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
void setup_os_slot | ( | ) |
in: edx -> APPDATA for OS/IDLE slot in: ebx = stack base
void syscall_reserveportarea | ( | arg_t | edx, |
arg_t | ecx, | ||
arg_t | ebx, | ||
arg_t | eax | ||
) |
ReservePortArea and FreePortArea.
edx | number end arrea of ports (include last number of port) |
ecx | number start arrea of ports |
ebx | sub function 0 - reserve, 1 - free |
eax | 46 - number function |
void wakeup_osloop | ( | ) |
fix __DEBUG__ |
fix __DEBUG_LEVEL__ |
label _rdtsc |
dd _rev |
label ahci_code_end |
label ap_init16 |
label ap_init_high |
dd ap_initialized |
dp apm_entry |
dd apm_vf |
label B32 |
label backgr |
-----------------------------------—
db background_defined |
label bgli |
-----------------------------------—
dd bios32_entry |
label boot_log |
label cache_disable |
label cache_enable |
label calculate_fast_getting_offset_for_LFB |
---------------------------------------------------------------------------—
label calculate_fast_getting_offset_for_WinMapAddress |
---------------------------------------------------------------------------—
label calculatebackground |
--------------------------------------------------------------------------— background
label checkmisc |
--------------------------------------------------------------------------—
db cpustring |
dd cr3_ap |
dd cr4_ap |
db debug_direct_print |
The following variable, if equal to 1, duplicates debug output to the screen.
label delay_hs |
label delay_ms |
--------------------------------------------------------------------------— delay in 1/1000 sec
dd display_height_standard |
label display_number |
label display_number_force |
dd display_width_standard |
label division_64_bits |
db do_not_touch_winmap |
label draw_num_text |
label drawbackground |
--------------------------------------------------------------------------—
label f61call |
label first_app_found |
label gdts_ap |
label get_cpu_freq |
---------------------------------------------------------------------------—
label get_timer_ticks |
--------------------------------------------------------------------------—
label high_code |
rb idle_addr |
label idle_loop |
The following code can be executed by all CPUs in the system. All other parts of the kernel do not expect multi-CPU. Also, APs don't even have a stack here. Beware. Don't do anything here. Anything at all.
label idle_thread |
dd imax |
label is_cache_enabled |
label is_kernel_thread |
---------------------------------------------------------------------------— in: eax – APPDATA ptr out: Z/z – is/not kernel thread
db launcher_start |
Start the first app (LAUNCHER) after kernel is loaded? (1=yes, 2 or 0=no)
label markz |
-----------------------------------—
label memmove |
--------------------------------------------------------------------------— very often call this subrutine memory move in bytes
label modify_pce |
dd msg_board_count |
rb msg_board_data |
dd msg_board_pos |
label newct |
-----------------------------------—
label newdw2 |
-----------------------------------—
label newdw8 |
-----------------------------------—
label no_lib_load |
label no_mark_system_shutdown |
label no_pal_ega |
label no_pal_vga |
label nobackgr |
-----------------------------------—
label nobgrd |
label normalize_number |
label noshutdown |
-----------------------------------—
label not_this_task |
label osloop |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; MAIN OS LOOP START ; ; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
dd osloop_nonperiodic_work |
dd process_number |
label ps2_keyboard_functions |
label put_2bit_image |
--------------------------------------------------------------------------—
label put_4bit_image |
--------------------------------------------------------------------------—
label put_mono_image |
--------------------------------------------------------------------------—
label putimage_get15bpp |
--------------------------------------------------------------------------—
label putimage_get16bpp |
--------------------------------------------------------------------------—
label putimage_get1bpp |
--------------------------------------------------------------------------—
label putimage_get24bpp |
--------------------------------------------------------------------------—
label putimage_get2bpp |
--------------------------------------------------------------------------—
label putimage_get32bpp |
--------------------------------------------------------------------------—
label putimage_get4bpp |
--------------------------------------------------------------------------—
label putimage_get8bpp |
--------------------------------------------------------------------------—
label putimage_get9bpp |
--------------------------------------------------------------------------—
label putimage_init15bpp |
--------------------------------------------------------------------------—
label putimage_init16bpp |
label putimage_init1bpp |
--------------------------------------------------------------------------—
label putimage_init24bpp |
--------------------------------------------------------------------------—
label putimage_init2bpp |
--------------------------------------------------------------------------—
label putimage_init32bpp |
--------------------------------------------------------------------------—
label putimage_init4bpp |
--------------------------------------------------------------------------—
label putimage_init8bpp |
label putimage_init9bpp |
label r_f_port_area |
reserve/free group of ports eax = 46 - number function ebx = 0 - reserve, 1 - free ecx = number start arrea of ports edx = number end arrea of ports (include last number of port) Return value: eax = 0 - succesful eax = 1 - error The system has reserve this ports: 0..0x2d, 0x30..0x4d, 0x50..0xdf, 0xe5..0xff (include last number of port). destroys eax,ebx, ebp
label redrawscreen |
--------------------------------------------------------------------------— eax - ptr to WDATA
label register_ramdisk |
--------------------------------------------------------------------------— Register ramdisk file system
label reserve_irqs_ports |
label restore_default_cursor_before_killing |
---------------------------------------------------------------------------— ecx - ptr WDATA
label ricino |
-----------------------------------—
RECT screen_workarea |
label set_app_param |
--------------------------------------------------------------------------—
label set_bgr_event |
-----------------------------------—
label set_io_access_rights |
in: eax = port ebp = subfunction 0 - set access 1 - clear access out: not return value
label set_screen |
---------------------------------------------------------------------------—
label set_variables |
label sheduler |
label shutdown_processes |
db sound_flag |
label sys_apm |
label sys_cachetodiskette |
---------------------------------------------------------------------------—
label sys_cpuusage |
---------------------------------------------------------------------------—
label sys_end |
--------------------------------------------------------------------------—
label sys_getsetup |
--------------------------------------------------------------------------—
label sys_gs |
direct screen access
label sys_msg_board |
label sys_msg_board_byte |
label sys_msg_board_dword |
label sys_msg_board_str |
label sys_msg_board_word |
label sys_putimage |
label sys_putimage_bpp |
-----------------------------------—
label sys_putimage_palette |
label sys_redrawstat |
redraw status
label sys_setup |
--------------------------------------------------------------------------—
label sys_sheduler |
label sys_system |
---------------------------------------------------------------------------—
label sys_system_table |
label syscall_cdaudio |
--------------------------------------------------------------------------—
label syscall_getarea |
--------------------------------------------------------------------------—
label syscall_getpixel |
--------------------------------------------------------------------------— GetPixel
label syscall_getpixel_WinMap |
--------------------------------------------------------------------------— GetPixel WinMap
label syscall_getscreensize |
GetScreenSize.
label syscall_putimage |
--------------------------------------------------------------------------— PutImage
label syscall_threads |
label sysfn_activate |
---------------------------------------------------------------------------— 18.3 = ACTIVATE WINDOW
label sysfn_centermouse |
---------------------------------------------------------------------------— 18.15 = mouse centered
label sysfn_deactivate |
---------------------------------------------------------------------------— 18.1 = DEACTIVATE WINDOW
label sysfn_getactive |
label sysfn_getallmem |
---------------------------------------------------------------------------—
label sysfn_getcpuclock |
---------------------------------------------------------------------------— 18.5 = GET TSC/SEC
label sysfn_getdiskinfo |
---------------------------------------------------------------------------— 18.11 = get disk info table
label sysfn_getfreemem |
---------------------------------------------------------------------------—
label sysfn_getidletime |
---------------------------------------------------------------------------— 18.4 = GET IDLETIME
label sysfn_getversion |
---------------------------------------------------------------------------— 18.13 = get kernel ID and version
label sysfn_min_rest_window |
---------------------------------------------------------------------------—
label sysfn_min_windows |
---------------------------------------------------------------------------—
label sysfn_minimize |
---------------------------------------------------------------------------— 18.10 = minimize window
label sysfn_mouse_acceleration |
---------------------------------------------------------------------------— 18.19 = set/get mouse features
label sysfn_pid_to_slot |
---------------------------------------------------------------------------—
label sysfn_set_screen_sizes |
---------------------------------------------------------------------------—
label sysfn_shutdown |
---------------------------------------------------------------------------— 18.9 = system shutdown
label sysfn_sound_flag |
---------------------------------------------------------------------------— 18.8 = get/set sound_flag
label sysfn_terminate |
---------------------------------------------------------------------------— 18.2 = TERMINATE
label sysfn_terminate2 |
---------------------------------------------------------------------------—
label sysfn_waitretrace |
---------------------------------------------------------------------------— 18.14 = sys wait retrace
label sysfn_zmodif |
---------------------------------------------------------------------------—
dd tmp_page_tabs |
label undefined_syscall |
Undefined system call.
db use_mwait_for_idle |
label version_inf |
db window_minimize |