StupidOS/kernel/bio.inc

43 lines
588 B
PHP
Raw Normal View History

2024-07-23 05:50:35 +00:00
;; File: bio.inc
;; Buffer cache
;; Struc: Buffer
struc Buffer {
.dev dd ?
.block dd ?
.ulock dd ?
.refcount dd ?
.data db 512 dup(?)
}
DEFN Buffer
;; Function: bio_init
bio_init:
mov ecx, sizeof.Buffer * 30
xor ax, ax
mov edi, aBuffers
rep stosb
ret
2024-07-22 15:32:12 +00:00
;; Function: bio_read
;;
bio_bread:
2024-07-23 05:50:35 +00:00
mov eax, uBIOLock
call lock_acquire
mov eax, uBIOLock
call lock_release
ret
2024-07-22 15:32:12 +00:00
;; Function: bio_brelse
;; Unbusy a buffer and release it to the free lists.
2024-07-23 05:50:35 +00:00
bio_brelse:
2024-07-22 15:32:12 +00:00
mov eax, uBIOLock
call lock_acquire
mov eax, uBIOLock
call lock_release
2024-07-23 05:50:35 +00:00
ret
uBIOLock dd 0