Add a vgs driver to fsdrv

This commit is contained in:
pjht 2019-07-31 19:46:01 -05:00
parent 207ddb890c
commit 8b8ac86f80
11 changed files with 905 additions and 16 deletions

View File

@ -1,24 +1,84 @@
set pagination off
target remote localhost:1234
symbol-file kernel/kernel.elf
add-symbol-file vfs/vfs
printf "Start at kernel\n"
b tasking.c:123
commands
silent
disable breakpoints
symbol-file kernel/kernel.elf
p task->pid
if task->pid==2
add-symbol-file vfs/vfs
enable breakpoints
if task->pid==0
shell date
printf "Yield to the kernel\n"
else
enable breakpoints 1
c
if task->pid==1
shell date
printf "Yield to init\n"
else
if task->pid==2
shell date
printf "Yield to the VFS\n"
else
if task->pid==3
shell date
printf "Yield to fsdrv\n"
else
shell date
printf "Yield to unknown\n"
end
end
end
end
c
end
b main
b tasking.c:35
commands
disable breakpoints 1
silent
if next_pid==0
shell date
printf "Kernel task registered\n"
else
if next_pid==1
shell date
printf "Init created\n"
else
if next_pid==2
shell date
printf "VFS created\n"
else
if next_pid==3
shell date
printf "fsdrv created\n"
else
shell date
printf "Unknown task created\n"
end
end
end
end
c
end
b mailboxes.c:14
commands
silent
shell date
printf "Mailbox %d created.\n",next_box
c
end
b mailboxes.c:27
commands
silent
shell date
printf "Message sent from box %d to box %d\n",user_msg->from,user_msg->to
c
end
b mailboxes.c:48
commands
silent
shell date
if mailbox.msg_store[mailbox.rd].size==0
printf "Box %d attempted to get a message, but there were none.\n",box
else
printf "Box %d got a message.\n",box
end
c
end
c

Binary file not shown.

View File

@ -3,8 +3,15 @@
#include <mailboxes.h>
#include <ipc/vfs.h>
#include <memory.h>
#include <grub/text_fb_info.h>
#include "vga.h"
int main() {
text_fb_info info;
info.address=map_phys((void*)0xB8000,10);
info.width=80;
info.height=25;
vga_init(info);
uint32_t box=mailbox_new(16);
for (;;) {
yield();
@ -15,6 +22,8 @@ int main() {
yield();
} else {
vfs_message* vfs_msg=(vfs_message*)msg.msg;
char str[]={(char)vfs_msg->data,'\0'};
vga_write_string(&str[0]);
msg.to=msg.from;
msg.from=box;
vfs_msg->flags=0;

31
fsdrv/ports.c Normal file
View File

@ -0,0 +1,31 @@
#include <stdint.h>
uint8_t port_byte_in(uint16_t port) {
uint8_t result;
asm("in %%dx, %%al":"=a"(result):"d"(port));
return result;
}
void port_byte_out(uint16_t port,uint8_t data) {
asm("out %%al, %%dx":: "a"(data),"d"(port));
}
uint16_t port_word_in(uint16_t port) {
uint16_t result;
asm("in %%dx, %%ax":"=a"(result):"d"(port));
return result;
}
void port_word_out(uint16_t port,uint16_t data) {
asm("out %%ax, %%dx":: "a" (data), "d" (port));
}
uint32_t port_long_in(uint16_t port) {
uint32_t result;
asm("inl %%dx, %%eax":"=a"(result):"d"(port));
return result;
}
void port_long_out(uint16_t port,uint32_t data) {
asm("outl %%eax, %%dx":: "a" (data), "d" (port));
}

12
fsdrv/ports.h Normal file
View File

@ -0,0 +1,12 @@
#ifndef PORTS_H
#define PORTS_H
#include <stdint.h>
uint8_t port_byte_in(uint16_t port);
void port_byte_out(uint16_t port,uint8_t data);
uint16_t port_word_in(uint16_t port);
void port_word_out(uint16_t port,uint16_t data);
uint32_t port_long_in(uint16_t port);
void port_long_out(uint16_t port,uint32_t data);
#endif

91
fsdrv/vga.c Normal file
View File

@ -0,0 +1,91 @@
#include <grub/text_fb_info.h>
#include "vga.h"
#include "ports.h"
#include <string.h>
#include <stddef.h>
#define xy_to_indx(x,y) ((x+(y*width))*2)
static char* screen;
static int width;
static int height;
static int x;
static int y;
static vga_colors fg_color;
static vga_colors bg_color;
static char* scroll_buf[0xfa0];
static void set_char(int x,int y,char c) {
screen[xy_to_indx(x,y)]=c;
screen[xy_to_indx(x,y)+1]=(bg_color<<4)|fg_color;
}
void vga_clear() {
for (int y=0;y<height;y++) {
for (int x=0;x<width;x++) {
set_char(x,y,' ');
}
}
}
static void set_cursor(int x,int y) {
int pos=(x+(y*width));
port_byte_out(0x3D4,0xF);
port_byte_out(0x3D5,pos&0xFF);
port_byte_out(0x3D4,0xE);
port_byte_out(0x3D5,(pos&0xFF00)>>8);
}
void vga_init(text_fb_info framebuffer_info) {
x=0;
y=0;
fg_color=VGA_WHITE;
bg_color=VGA_BLACK;
screen=framebuffer_info.address;
width=framebuffer_info.width;
height=framebuffer_info.height;
port_byte_out(0x3D4,0xA);
port_byte_out(0x3D5,(port_byte_in(0x3D5)&0xC0)|14);
port_byte_out(0x3D4,0xB);
port_byte_out(0x3D5,(port_byte_in(0x3D5)&0xE0)|15);
set_cursor(0,0);
vga_clear();
}
void vga_write_string(const char* string) {
for (size_t i=0;i<strlen(string);i++) {
char c=string[i];
if (c=='\n') {
x=0;
y++;
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wunused-value"
for (int i=0;i<67108864;i++) {
1+1;
}
#pragma GCC diagnostic pop
} else {
set_char(x,y,c);
x++;
}
if (x==width) {
x=0;
y++;
}
if (y==height) {
x=0;
y=24;
memcpy(scroll_buf,&screen[xy_to_indx(0,1)],xy_to_indx(0,24));
vga_clear();
memcpy(screen,scroll_buf,xy_to_indx(0,25));
}
}
set_cursor(x,y);
}
void vga_backspace() {
if (x!=0) {
x--;
set_char(x,y,' ');
set_cursor(x,y);
}
}

29
fsdrv/vga.h Normal file
View File

@ -0,0 +1,29 @@
#ifndef vga_H
#define vga_H
typedef enum {
VGA_BLACK=0,
VGA_BLUE=1,
VGA_GREEN=2,
VGA_CYAN=3,
VGA_RED=4,
VGA_PURPLE=5,
VGA_BROWN=6,
VGA_GRAY=7,
VGA_DARK_GRAY=8,
VGA_LIGHT_BLUE=9,
VGA_LIGHT_GREEN=10,
VGA_LIGHT_CYAN=11,
VGA_LIGHT_RED=12,
VGA_LIGHT_PURPLE=13,
VGA_YELLOW=14,
VGA_WHITE=15
} vga_colors;
void vga_init();
void vga_write_string(const char *string);
void vga_clear();
void vga_backspace();
#endif

View File

@ -173,9 +173,9 @@ int main(char* initrd, uint32_t initrd_sz) {
vga_write_string("CALLING FOPEN\n");
FILE* file=fopen("/dev/sda","w");
vga_write_string("FOPEN RETURNED\n");
vga_write_string("CALLING FPUTC\n");
fputc('a',file);
vga_write_string("FPUTC RETURNED\n");
vga_write_string("CALLING FPUTS\n");
fputs("FPUTS String",file);
vga_write_string("FPUTS RETURNED\n");
// yield();
// // uint32_t fs_box=mailbox_new(16);
// // test_vfs("/dev/sda",box,fs_box);

View File

@ -88,3 +88,9 @@ int fputc(int c, FILE* stream) {
return c;
}
}
int fputs(const char* s, FILE* stream) {
for (int i=0;s[i]!='\0';i++) {
fputc(s[i],stream);
}
}

651
log Normal file
View File

@ -0,0 +1,651 @@
GNU gdb (GDB) 8.2
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "swarning: No executable has been specified and target does not support
determining executable automatically. Try using the "file" command.
Quit
uration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
0x0000091f in ?? ()
Start at kernel
Breakpoint 1 at 0xc0102726: file kernel/cpu/i386/tasking.c, line 123.
Breakpoint 2 at 0xc01023b7: file kernel/cpu/i386/tasking.c, line 35.
Breakpoint 3 at 0xc01014ab: file kernel/cpu/i386/mailboxes.c, line 14.
Breakpoint 4 at 0xc010155b: file kernel/cpu/i386/mailboxes.c, line 27.
Breakpoint 5 at 0xc0101669: file kernel/cpu/i386/mailboxes.c, line 48.
Wed Jul 31 17:54:11 CDT 2019
Kernel task registered
Wed Jul 31 17:54:11 CDT 2019
Init created
Wed Jul 31 17:54:11 CDT 2019
Yield to init
Wed Jul 31 17:54:11 CDT 2019
Mailbox 1 created.
Wed Jul 31 17:54:12 CDT 2019
VFS created
Wed Jul 31 17:54:12 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:12 CDT 2019
Mailbox 2 created.
Wed Jul 31 17:54:12 CDT 2019
Mailbox 3 created.
Wed Jul 31 17:54:12 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:12 CDT 2019
Yield to init
Wed Jul 31 17:54:12 CDT 2019
fsdrv created
Wed Jul 31 17:54:12 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:12 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:12 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:12 CDT 2019
Mailbox 4 created.
Wed Jul 31 17:54:12 CDT 2019
Mailbox 5 created.
Wed Jul 31 17:54:12 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:12 CDT 2019
Yield to init
Wed Jul 31 17:54:13 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:13 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:13 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:13 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:13 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:13 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:13 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:13 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:13 CDT 2019
Yield to init
Wed Jul 31 17:54:13 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:13 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:13 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:13 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:13 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:13 CDT 2019
Yield to init
Wed Jul 31 17:54:13 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:15 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:15 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:15 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:15 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:15 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:15 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:15 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:15 CDT 2019
Yield to init
Wed Jul 31 17:54:16 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:16 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:16 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:16 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:16 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:16 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:16 CDT 2019
Yield to init
Wed Jul 31 17:54:16 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:16 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:16 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:16 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:16 CDT 2019
Yield to init
Wed Jul 31 17:54:16 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:16 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:16 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:16 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:16 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:16 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:16 CDT 2019
Yield to init
Wed Jul 31 17:54:16 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:16 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:16 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:16 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:16 CDT 2019
Yield to init
Wed Jul 31 17:54:16 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:16 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:16 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:16 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:16 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:16 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:17 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:17 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:17 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:17 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:17 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:17 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:17 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:17 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:17 CDT 2019
Yield to init
Wed Jul 31 17:54:17 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:17 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:17 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:17 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:18 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:18 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:18 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:18 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:18 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:18 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:18 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:18 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:18 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:18 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:18 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:18 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:18 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:18 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:18 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:18 CDT 2019
Yield to init
Wed Jul 31 17:54:19 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:19 CDT 2019
Message sent from box 1 to box 3
Wed Jul 31 17:54:19 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:19 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:19 CDT 2019
Message sent from box 3 to box 5
Wed Jul 31 17:54:19 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:19 CDT 2019
Box 5 got a message.
Wed Jul 31 17:54:19 CDT 2019
Message sent from box 5 to box 3
Wed Jul 31 17:54:19 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:19 CDT 2019
Yield to init
Wed Jul 31 17:54:19 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:19 CDT 2019
Box 3 got a message.
Wed Jul 31 17:54:19 CDT 2019
Message sent from box 3 to box 1
Wed Jul 31 17:54:19 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:19 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:19 CDT 2019
Yield to init
Wed Jul 31 17:54:19 CDT 2019
Box 1 got a message.
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:20 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:20 CDT 2019
Yield to init
Wed Jul 31 17:54:20 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:20 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:20 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:21 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:21 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:21 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:21 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:21 CDT 2019
Yield to init
Wed Jul 31 17:54:22 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:22 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:22 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:22 CDT 2019
Box 5 attempted to get a message, but there were none.
Wed Jul 31 17:54:22 CDT 2019
Yield to the kernel
Wed Jul 31 17:54:22 CDT 2019
Yield to init
Wed Jul 31 17:54:22 CDT 2019
Yield to the VFS
Wed Jul 31 17:54:22 CDT 2019
Box 3 attempted to get a message, but there were none.
Wed Jul 31 17:54:22 CDT 2019
Yield to fsdrv
Wed Jul 31 17:54:22 CDT 2019
Yield to the kernel
[Inferior 1 (process 1) exited normally]
[?1034h(gdb) ^C(gdb) quit

View File

@ -108,7 +108,7 @@ void vfs_fopen(vfs_message* vfs_msg,uint32_t from) {
}
if (fd_tables[from]==NULL) {
fd_tables[from]=malloc(PROC_FD_LIMIT*sizeof(vfs_file));
open_fds[from]=1;
open_fds[from]=0;
} else {
if (open_fds[from]==PROC_FD_LIMIT) {
vfs_msg->flags=4;