/drivers/video/drm/i915/i915.asm |
---|
10,32 → 10,51 |
dd cmdline |
dd path |
SRV_CMDLINE equ 4 |
start: |
mov eax, 68 |
mov ebx, 16 |
mov ecx, sz_display |
int 0x40 |
test eax, eax |
jnz .done ; FIXME parse command line and |
; call service |
mov eax, 68 |
mov ebx, 16 |
mov ecx, sz_display |
int 0x40 |
test eax, eax |
jz .load |
xor eax, eax |
mov ecx, 1024 |
mov edi, path |
xor ebx, ebx |
push ebx ;.out_size |
push ebx ;.output |
push 4 ;.inp_size |
push cmdline ;.input |
push SRV_CMDLINE ;.code |
push eax ;.handle |
mov eax, 68 |
mov ebx, 17 |
mov ecx, esp ;[ioctl] |
int 0x40 |
mov eax, -1 |
int 0x40 |
.load: |
xor eax, eax |
mov ecx, 1024 |
mov edi, path |
cld |
repne scasb |
dec edi |
mov [edi], dword '.dll' |
mov [edi+4], al |
mov eax, 68 |
mov ebx, 21 |
mov ecx, path |
mov edx, cmdline |
int 0x40 |
.done: |
mov eax, -1 |
int 0x40 |
dec edi |
mov [edi], dword '.dll' |
mov [edi+4], al |
mov eax, 68 |
mov ebx, 21 |
mov ecx, path |
mov edx, cmdline |
int 0x40 |
mov eax, -1 |
int 0x40 |
sz_display db 'DISPLAY',0 |
align 4 |