/kernel/branches/flat_kernel/bus/pci/pci32.inc |
---|
34,7 → 34,7 |
or al,al |
jnz pci_fn_1 |
; PCI function 0: get pci version (AH.AL) |
movzx eax,word [0x2F0000+0x9022] |
movzx eax,word [BOOT_VAR+0x9022] |
ret |
pci_fn_1: |
42,7 → 42,7 |
jnz pci_fn_2 |
; PCI function 1: get last bus in AL |
mov al,[0x2F0000+0x9021] |
mov al,[BOOT_VAR+0x9021] |
ret |
pci_fn_2: |
49,7 → 49,7 |
cmp al,2 |
jne pci_fn_3 |
; PCI function 2: get pci access mechanism |
mov al,[0x2F0000+0x9020] |
mov al,[BOOT_VAR+0x9020] |
ret |
pci_fn_3: |
108,7 → 108,7 |
align 4 |
pci_read_reg: |
cmp byte [0x2F0000+0x9020],2 ;what mechanism will we use? |
cmp byte [BOOT_VAR+0x9020],2 ;what mechanism will we use? |
je pci_read_reg_2 |
; mechanism 1 |
238,7 → 238,7 |
align 4 |
pci_write_reg: |
cmp byte [0x2F0000+0x9020],2 ;what mechanism will we use? |
cmp byte [BOOT_VAR+0x9020],2 ;what mechanism will we use? |
je pci_write_reg_2 |
; mechanism 1 |
/kernel/branches/flat_kernel/const.inc |
---|
484,6 → 484,9 |
SRV_FD_OFFSET equ 0x18 |
SRV_SIZE equ 44 |
DRV_ENTRY equ 1 |
DRV_EXIT equ -1 |
struc COFF_HEADER |
{ .machine dw ? |
.nSections dw ? |
/kernel/branches/flat_kernel/core/dll.inc |
---|
1,6 → 1,4 |
DRV_ENTRY equ 1 |
DRV_EXIT equ -1 |
DRV_COMPAT equ 4 ;minimal required drivers version |
DRV_CURRENT equ 4 ;current drivers model version |
/kernel/branches/flat_kernel/core/memory.inc |
---|
452,13 → 452,13 |
proc page_fault_handler |
pushad |
; push eax |
; push edx |
; mov edx, 0x400 ;bocsh |
; mov al,0xff ;bocsh |
; out dx, al ;bocsh |
; pop edx |
; pop eax |
push eax |
push edx |
mov edx, 0x400 ;bocsh |
mov al,0xff ;bocsh |
out dx, al ;bocsh |
pop edx |
pop eax |
mov ebp, esp |
mov eax, cr2 |
/kernel/branches/flat_kernel/drivers/ati2d.asm |
---|
65,9 → 65,8 |
R9800P equ 0x4E48 ;R350 |
R9800XT equ 0x4E4A ;R360 |
OS_BASE equ 0 |
new_app_base equ 0x80000000 |
SLOT_BASE equ 0x0080000 |
OS_BASE equ 0x80000000 |
SLOT_BASE equ (OS_BASE+0x0080000) |
PG_SW equ 0x003 |
PG_NOCACHE equ 0x018 |
/kernel/branches/flat_kernel/drivers/infinity.asm |
---|
27,10 → 27,12 |
DEBUG equ 1 |
OS_BASE equ 0 |
new_app_base equ 0x80000000 |
SLOT_BASE equ OS_BASE+0x0080000 |
OS_BASE equ 0x80000000 |
SLOT_BASE equ (OS_BASE+0x0080000) |
TASK_COUNT equ (OS_BASE+0x0003004) |
CURRENT_TASK equ (OS_BASE+0x0003000) |
CAPS_SSE2 equ 26 |
PG_SW equ 0x003 |
165,7 → 167,7 |
jne @F |
mov eax, [edi+output] |
mov eax, [eax] |
mov [eax+new_app_base], dword SOUND_VERSION |
mov [eax], dword SOUND_VERSION |
xor eax, eax |
ret |
@@: |
177,7 → 179,7 |
pop edi |
mov ecx, [edi+output] |
mov ecx, [ecx] |
mov [ecx+new_app_base], ebx |
mov [ecx], ebx |
ret |
@@: |
mov ebx, [edi+input] |
206,7 → 208,7 |
movzx eax, word [edx+STREAM.format] |
mov ecx, [edi+output] |
mov ecx, [ecx] |
mov [ecx+new_app_base], eax |
mov [ecx], eax |
xor eax, eax |
ret |
@@: |
227,13 → 229,12 |
pop edi |
mov ecx, [edi+output] |
mov ecx, [ecx] |
mov [ecx+new_app_base], ebx |
mov [ecx], ebx |
ret |
@@: |
cmp eax, SND_SETBUFF |
jne @F |
mov eax, [ebx+4] |
add eax, new_app_base |
stdcall set_buffer, [ebx],eax,[ebx+8],[ebx+12] |
ret |
@@: |
248,8 → 249,6 |
mov eax, [edi+output] |
mov ecx, [eax] |
mov eax, [eax+4] |
add ecx, new_app_base |
add eax, new_app_base |
stdcall GetBufferVol,[ebx],ecx,eax |
ret |
@@: |
263,7 → 262,7 |
mov eax, [edx+STREAM.pan] |
mov ebx, [edi+output] |
mov ebx, [ebx] |
mov [ebx+new_app_base], eax |
mov [ebx], eax |
xor eax, eax |
ret |
@@: |
271,7 → 270,6 |
jne @F |
mov eax, [ebx+4] |
add eax, new_app_base |
stdcall wave_out, [ebx],eax,[ebx+8] |
ret |
@@: |
292,7 → 290,7 |
mov eax, [edx+STREAM.in_size] |
mov ecx, [edi+output] |
mov ecx, [ecx] |
mov [ecx+new_app_base], eax |
mov [ecx], eax |
xor eax, eax |
ret |
@@: |
308,10 → 306,6 |
restore output |
restore out_size |
TASK_COUNT equ 0x0003004 |
CURRENT_TASK equ 0x0003000 |
align 4 |
proc CreateBuffer stdcall, format:dword, size:dword |
locals |
653,8 → 647,8 |
test esi, esi |
jz .fail |
cmp esi, new_app_base |
jb .fail |
cmp esi, OS_BASE |
ja .fail |
mov [state_saved], 0 |
/kernel/branches/flat_kernel/drivers/sis.asm |
---|
84,7 → 84,6 |
CODEC_REG_POWERDOWN equ 0x26 |
CODEC_REG_ST equ 0x26 |
DEV_PLAY equ 1 |
DEV_STOP equ 2 |
DEV_CALLBACK equ 3 |
243,9 → 242,8 |
EVENT_NOTIFY equ 0x00000200 |
OS_BASE equ 0; 0x80400000 |
OS_BASE equ 0x80000000 |
SLOT_BASE equ OS_BASE+0x0080000 |
new_app_base equ 0x80000000 |
public START |
public service_proc |
369,16 → 367,15 |
cmp eax, DEV_GET_MASTERVOL |
jne @F |
mov ebx, [edi+output] |
add ebx, new_app_base |
stdcall get_master_vol, ebx |
ret |
;@@: |
; cmp eax, DEV_GET_INFO |
; jne @F |
; mov ebx, [edi+output] |
; stdcall get_dev_info, ebx |
; ret |
@@: |
cmp eax, DEV_GET_INFO |
jne @F |
mov ebx, [edi+output] |
stdcall get_dev_info, ebx |
ret |
@@: |
.fail: |
or eax, -1 |
ret |
/kernel/branches/flat_kernel/drivers/sound.asm |
---|
270,9 → 270,8 |
EVENT_NOTIFY equ 0x00000200 |
OS_BASE equ 0; |
OS_BASE equ 0x80000000 |
SLOT_BASE equ OS_BASE+0x0080000 |
new_app_base equ 0x80000000 |
public START |
public service_proc |
413,7 → 412,6 |
cmp eax, DEV_GET_MASTERVOL |
jne @F |
mov ebx, [edi+output] |
add ebx, new_app_base |
stdcall get_master_vol, ebx |
ret |
;@@: |
1409,5 → 1407,3 |
lpc_bus rd 1 |
civ_val rd 1 |
/kernel/branches/flat_kernel/drivers/uart.inc |
---|
164,7 → 164,11 |
UART_VERSION equ 0x12345678 ;debug |
init_uart_service: |
proc init_uart_service stdcall, state:dword |
cmp [state], 1 |
jne .stop |
mov eax, UART_SIZE |
call malloc |
test eax, eax |
241,11 → 245,15 |
stdcall attach_int_handler, COM_1_IRQ, com_1_isr |
stdcall reg_service, sz_uart_srv, uart_proc |
mov [eax+SRV.entry], init_uart_service |
ret |
.fail: |
.stop: |
xor eax, eax |
ret |
endp |
handle equ IOCTL.handle |
io_code equ IOCTL.io_code |
input equ IOCTL.input |
/kernel/branches/flat_kernel/kernel.asm |
---|
721,7 → 721,7 |
cmp [IDEContrRegsBaseAddr], 0 |
setnz [dma_hdd] |
call init_uart_service |
stdcall init_uart_service, DRV_ENTRY |
sti |
jmp $ ; wait here for timer to take control |
/kernel/branches/flat_kernel/kernel32.inc |
---|
264,7 → 264,7 |
include "network/stack.inc" |
include "drivers/comport.asm" |
include "drivers/uart.inc" |
; Mouse pointer |