summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/asm.s7
-rw-r--r--kernel/fd.c6
-rw-r--r--kernel/fs/buffer.c8
-rw-r--r--kernel/fs/mount.c14
-rw-r--r--kernel/hd.c2
-rw-r--r--kernel/sched.c2
-rw-r--r--kernel/timer.s2
-rw-r--r--kernel/traps.s4
-rw-r--r--kernel/tty.c16
9 files changed, 25 insertions, 36 deletions
diff --git a/kernel/asm.s b/kernel/asm.s
index 655dcfc..4e1e376 100644
--- a/kernel/asm.s
+++ b/kernel/asm.s
@@ -15,11 +15,7 @@ switch_to:
; abort if we're switching to the current task
mov ebx, [ctask]
cmp ebx, [ebp+12]
- jne .skip
- pop ebx
- pop ebp
- ret
-.skip:
+ je .end
; update ctask and ctaskn
mov ebx, [ebp+12]
mov [ctask], ebx
@@ -31,6 +27,7 @@ switch_to:
shl ebx, 3
mov [.tmp+4], bx
jmp far [.tmp]
+.end:
pop ebx
pop ebp
ret
diff --git a/kernel/fd.c b/kernel/fd.c
index f6563ea..d5e713a 100644
--- a/kernel/fd.c
+++ b/kernel/fd.c
@@ -194,7 +194,7 @@ static int sense_intr(struct sense_result *sr) {
if(in < sizeof(struct sense_result))
return -1;
- printk("[fd] Sense command success (Drive: %c:, CYL: 0x%02x, ST0: 0x%02x)\n", 'A' + (sr->st0 & 3), sr->cyl, sr->st0);
+ printk("[fd] Sense command success (Drive: %c:, CYL: 0x%02X, ST0: 0x%02X)\n", 'A' + (sr->st0 & 3), sr->cyl, sr->st0);
return 0;
}
@@ -283,7 +283,7 @@ int fd_read_sect(int sect, struct req *r) {
read_queue = r;
}
- printk("[fd] Reading sector 0x%01x (C: 0x%01x, H: 0x%01x, S: 0x%01x)\n", sect, cmd[2], cmd[3], cmd[4]);
+ printk("[fd] Reading sector 0x%01X (C: 0x%01X, H: 0x%01X, S: 0x%01X)\n", sect, cmd[2], cmd[3], cmd[4]);
cli();
write_data(cmd, sizeof(cmd));
@@ -296,7 +296,7 @@ int fd_read_sect(int sect, struct req *r) {
in = read_data(&res, sizeof(res));
if(in == sizeof(res) && !(res.st0 & 0xC0)) {
- printk("[fd] Successfully read a sector (ST0: 0x%02x, N: 0x%02x)!\n", res.st0, res.n);
+ printk("[fd] Successfully read a sector (ST0: 0x%02X, N: 0x%02X)!\n", res.st0, res.n);
printk(" DATA: %s\n", buffer);
return 0;
}
diff --git a/kernel/fs/buffer.c b/kernel/fs/buffer.c
index 99c3161..b106afc 100644
--- a/kernel/fs/buffer.c
+++ b/kernel/fs/buffer.c
@@ -38,10 +38,10 @@ struct buffer *buffer_get_block(uint16_t device, uint16_t block) {
/* if the buffer exists but isn't populated. wait on it */
if(!b->b_present) {
sleep_on(&b->b_wait);
- printk("[buf] Waiting for buffer %04x:%04x to be populated...\n", b->b_device, b->b_block);
+ printk("[buf] Waiting for buffer %04X:%04X to be populated...\n", b->b_device, b->b_block);
}
sti();
- printk("[buf] Fetched block %04x:%04x from cache\n", b->b_device, b->b_block);
+ printk("[buf] Fetched block %04X:%04X from cache\n", b->b_device, b->b_block);
return b->b_device ? b : NULL;
next:
p = &b->b_prev;
@@ -68,7 +68,7 @@ next:
b->b_present = 0;
block_read(b);
wake_up(&b->b_wait);
- printk("[buf] Called driver to read block %04x:%04x\n", b->b_device, b->b_block);
+ printk("[buf] Called driver to read block %04X:%04X\n", b->b_device, b->b_block);
return b->b_device ? b : NULL;
}
@@ -98,5 +98,5 @@ void buffer_init(void) {
lru = (struct buffer*) BSTART;
mru = last;
- printk("[buf] Buffers initialized (0x%x buffers in pool)\n", c);
+ printk("[buf] Buffers initialized (%d buffers [%dKiB] in pool)\n", c, c * BLOCK_SIZE / 1024);
}
diff --git a/kernel/fs/mount.c b/kernel/fs/mount.c
index e4d3636..401d2e8 100644
--- a/kernel/fs/mount.c
+++ b/kernel/fs/mount.c
@@ -24,13 +24,13 @@ void mount_root(void) {
}
printk("[fs] Found valid super-block for /\n");
- printk(" 0x%01x inodes\n", s->s_ninodes);
- printk(" 0x%01x zones\n", s->s_nzones);
- printk(" 0x%01x inode block bitmaps\n", s->s_imap_blocks);
- printk(" 0x%01x zone block bitmaps\n", s->s_zmap_blocks);
- printk(" First data zone: 0x%01x\n", s->s_firstdatazone);
- printk(" Log zone size: 0x%01x\n", s->s_log_zone_size);
- printk(" Max file size: 0x%01x\n", s->s_max_size);
+ printk(" 0x%01X inodes\n", s->s_ninodes);
+ printk(" 0x%01X zones\n", s->s_nzones);
+ printk(" 0x%01X inode block bitmaps\n", s->s_imap_blocks);
+ printk(" 0x%01X zone block bitmaps\n", s->s_zmap_blocks);
+ printk(" First data zone: 0x%01X\n", s->s_firstdatazone);
+ printk(" Log zone size: 0x%01X\n", s->s_log_zone_size);
+ printk(" Max file size: 0x%01X\n", s->s_max_size);
/* copy the super block into the table */
memcpy(sblocks, s, ((unsigned) &s->s_imap - (unsigned) s));
diff --git a/kernel/hd.c b/kernel/hd.c
index 83108dd..1540294 100644
--- a/kernel/hd.c
+++ b/kernel/hd.c
@@ -179,6 +179,6 @@ int hd_init(void) {
return -1;
}
- printk("[hd] Primary bus master drive initialized! (status: 0x%02x, nsects: 0x%01x)\n", s, nblocks);
+ printk("[hd] Primary bus master drive initialized! (status: 0x%02X, nsects: 0x%01X)\n", s, nblocks);
return 0;
}
diff --git a/kernel/sched.c b/kernel/sched.c
index ff2d036..cced987 100644
--- a/kernel/sched.c
+++ b/kernel/sched.c
@@ -310,7 +310,7 @@ void sighandler_default(uint32_t sig) {
kill_proc(ctask);
break;
default:
- printk("[kernel] Handling signal 0x%02x for PID 0x%04x\n", sig, ctask->pid);
+ printk("[kernel] Handling signal 0x%02X for PID 0x%04X\n", sig, ctask->pid);
break;
}
}
diff --git a/kernel/timer.s b/kernel/timer.s
index e6da428..7d54c38 100644
--- a/kernel/timer.s
+++ b/kernel/timer.s
@@ -26,7 +26,7 @@ tick_handler:
inc dword [ticks]
mov al, 0x20
out 0x20, al
- ; check that the user isn't executing in kernel space
+ ; check that the task isn't executing in kernel space
mov eax, [esp+38]
test eax, 0x03
jz .end
diff --git a/kernel/traps.s b/kernel/traps.s
index 408a650..ca083dd 100644
--- a/kernel/traps.s
+++ b/kernel/traps.s
@@ -199,7 +199,7 @@ exc_gprot:
RESTORE_ERR
.fmt:
- db "General Protection Fault (0x%08x)", 10, 0
+ db "General Protection Fault (0x%08X)", 10, 0
exc_pagef:
SAVE_ERR
@@ -242,7 +242,7 @@ exc_pagef:
RESTORE_ERR
.fmt:
- db "Page Fault (illegal memory access: 0x%08x:0x%02x)", 10, 0
+ db "Page Fault (illegal memory access: 0x%08X:0x%02X)", 10, 0
exc_mathf:
SAVE
diff --git a/kernel/tty.c b/kernel/tty.c
index a17429f..e7e55f4 100644
--- a/kernel/tty.c
+++ b/kernel/tty.c
@@ -79,12 +79,8 @@ ssize_t tty_read(unsigned tty, void *buf, size_t len) {
for(i = 0; i < len; i++) {
/* check if the buffer's empty and if so, go to sleep */
- if(sleep_while_empty(q) < 0) {
- if(i == 0)
- return -EINTR;
-
- return i;
- }
+ if(sleep_while_empty(q) < 0)
+ return i == 0 ? -EINTR : i;
*b++ = q->buf[q->pread];
q->pread = (q->pread + 1) % TTY_BUF_SIZE;
@@ -109,12 +105,8 @@ ssize_t tty_write(unsigned tty, void *buf, size_t len) {
for(i = 0; i < len; i++) {
/* check if the buffer's full and if so, go to sleep */
- if(sleep_while_full(q, ttys[tty]) < 0) {
- if(i == 0)
- return -EINTR;
-
- return i;
- }
+ if(sleep_while_full(q, ttys[tty]) < 0)
+ return i == 0 ? -EINTR : i;
q->buf[q->pwrite] = *b++;
q->pwrite = (q->pwrite + 1) % TTY_BUF_SIZE;