diff --git a/apps/sh/built-in/exit/exit.c b/apps/sh/built-in/exit/exit.c
index 0e7fb69..90bc6a8 100644
--- a/apps/sh/built-in/exit/exit.c
+++ b/apps/sh/built-in/exit/exit.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -30,47 +30,45 @@
extern volatile bool exit_set__shell;
-struct cmd_opt_t* cmd_exit_opts[] =
+struct cmd_opt_t* cmd_exit_opts[] =
{
- 0
+ 0
};
int exit_handler(char* cmd)
{
size_t num_opts = get_opt_count(cmd);
str_t opts[num_opts];
- get_opt(cmd,opts);
-
- if(num_opts==1)
+ get_opt(cmd, opts);
+
+ if(num_opts == 1)
{
- exit_set__shell=true;
+ exit_set__shell = true;
return STATUS_OK;
}
- else if(strcmp(opts[1].str,"--help")==0)
+ else if(strcmp(opts[1].str, "--help") == 0)
printk(cmd_exit.help);
- else
+ else
printk(cmd_exit.invalid_use_msg);
-
+
return STATUS_OK;
}
-struct cmd_t cmd_exit =
+struct cmd_t cmd_exit =
{
- .name = "exit",
- .usage = "exit [--help] ",
- .help = "exit(1) \t\t\t\t BoneOS Terminal Manual \n"
- "NAME : \n "
- "\texit\n"
- "SYNOPSIS : \n "
- "\texit [--help]\n"
- "DESCRIPTION : \n "
- "\tCommand to exit the current \n "
- "\tshell process\n",
- .cmd_opts = cmd_exit_opts,
- .handler = &exit_handler,
- .invalid_use_msg = "Invalid use of exit command.\n"
- "Type in exit --help for more help.\n",
- .privilege = USER
+ .name = "exit",
+ .usage = "exit [--help] ",
+ .help = "exit(1) \t\t\t\t BoneOS Terminal Manual \n"
+ "NAME : \n "
+ "\texit\n"
+ "SYNOPSIS : \n "
+ "\texit [--help]\n"
+ "DESCRIPTION : \n "
+ "\tCommand to exit the current \n "
+ "\tshell process\n",
+ .cmd_opts = cmd_exit_opts,
+ .handler = &exit_handler,
+ .invalid_use_msg = "Invalid use of exit command.\n"
+ "Type in exit --help for more help.\n",
+ .privilege = USER
};
-
-
diff --git a/apps/sh/shell.c b/apps/sh/shell.c
index 9ee9c86..a51bcdd 100644
--- a/apps/sh/shell.c
+++ b/apps/sh/shell.c
@@ -22,7 +22,6 @@
** Ashish Ahuja
**/
-
#include
#include
#include
@@ -47,17 +46,17 @@
#include
#include
#include
-#include
-#include
-#include
+#include
+#include
+#include
#include
volatile bool TERMINAL_MODE = false;
-volatile uint32_t cmd_active_index=0;
+volatile uint32_t cmd_active_index = 0;
volatile uint32_t shell_instance_cnt = 0;
-volatile struct typed_cmd cmd_active;
+volatile struct typed_cmd cmd_active;
rtc_t start_time;
struct cmd_t *cmds[] =
@@ -75,25 +74,18 @@ struct cmd_t *cmds[] =
&cmd_pwd,
&cmd_logname,
&cmd_uname,
- &cmd_date,
- &cmd_whoami,
- &cmd_uptime,
+ &cmd_date,
+ &cmd_whoami,
+ &cmd_uptime,
&cmd_watch,
0
};
void init_terminal()
{
- assertkm(device_initalized(KBD_DRIVER_INDEX) , "Keyboard not intalized for starting shell!");
- TERMINAL_MODE=true;
+ assertkm(device_initalized(KBD_DRIVER_INDEX), "Keyboard not intalized for starting shell!");
+ TERMINAL_MODE = true;
cmds [CMD_CLEAR_INDEX]->handler("clear");
cmds[CMD_BONESHELL_INDEX]->handler("boneshell");
- TERMINAL_MODE=false;
+ TERMINAL_MODE = false;
}
-
-
-
-
-
-
-
diff --git a/apps/sh/utils.c b/apps/sh/utils.c
index 0e4a696..1b917b7 100644
--- a/apps/sh/utils.c
+++ b/apps/sh/utils.c
@@ -15,66 +15,60 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
**/
-
- #include
- #include
- #include
- #include
-
+
+#include
+#include
+#include
+#include
+
int termcmp(const char* cmd, const char* value)
{
- size_t num_opts_cmp = get_opt_count(value);
- str_t opts_cmp[num_opts_cmp];
- get_opt(value,opts_cmp);
- if(strcmp(opts_cmp[0].str,cmd)==0)
- return 0;
- return 1;
+ size_t num_opts_cmp = get_opt_count(value);
+ str_t opts_cmp[num_opts_cmp];
+ get_opt(value, opts_cmp);
+ if(strcmp(opts_cmp[0].str, cmd) == 0)
+ return 0;
+ return 1;
}
bool is_contain_equal(char* s)
{
- while(*s)
+ while(*s)
if(*s++ == '=')
return true;
- return false;
+ return false;
}
str_t term_assignment_return_variable(str_t s)
{
- int counter = 0;
- str_t __return;
- for(int i=0; i<200;i++) __return.str[i]=0;
-
- while(s.str[counter] != '=') {
- __return.str[counter]+=s.str[counter];
- counter++;
- }
- return __return;
+ int counter = 0;
+ str_t __return;
+ for(int i = 0; i < 200; i++) __return.str[i] = 0;
+
+ while(s.str[counter] != '=') {
+ __return.str[counter] += s.str[counter];
+ counter++;
+ }
+ return __return;
}
str_t term_assignment_return_value(str_t s)
{
- int counter=0;
- int self_index=0;
- str_t __return;
- for(int i=0; i<200;i++) __return.str[i]=0;
-
- while(s.str[counter++] != '=');
- for(; s.str[counter]; counter++)
- {
- __return.str[self_index++]+=s.str[counter];
- }
-
- return __return;
-}
-
-
-
-
+ int counter = 0;
+ int self_index = 0;
+ str_t __return;
+ for(int i = 0; i < 200; i++) __return.str[i] = 0;
+ while(s.str[counter++] != '=');
+ for(; s.str[counter]; counter++)
+ {
+ __return.str[self_index++] += s.str[counter];
+ }
+ return __return;
+}
diff --git a/apps/sh/values.c b/apps/sh/values.c
index 4ac9db1..f589330 100644
--- a/apps/sh/values.c
+++ b/apps/sh/values.c
@@ -30,5 +30,3 @@ char* VAR_PWD = "/";
char* VAR_RELEASE = "0.0.1";
char* VAR_OSNAME = "BoneOS";
char* VAR_PLATFORM = "x86_32";
-
-
diff --git a/boot/boot/grub/grub.cfg b/boot/boot/grub/grub.cfg
index df2bdd4..6aa21a8 100644
--- a/boot/boot/grub/grub.cfg
+++ b/boot/boot/grub/grub.cfg
@@ -1,4 +1,4 @@
menuentry "BoneOS x86 " {
- multiboot /boot/BoneOS.bin
- boot
+ multiboot /boot/BoneOS.bin
+ boot
}
diff --git a/platform/Makefile b/platform/Makefile
index 84542c1..ac58951 100644
--- a/platform/Makefile
+++ b/platform/Makefile
@@ -2,4 +2,4 @@ all:
(cd $(PLAT) && $(MAKE))
clean:
- (cd $(PLAT) && $(MAKE) clean)
\ No newline at end of file
+ (cd $(PLAT) && $(MAKE) clean)
diff --git a/platform/pc/cpu/interrupts/pic.c b/platform/pc/cpu/interrupts/pic.c
index 7a27609..98a609d 100644
--- a/platform/pc/cpu/interrupts/pic.c
+++ b/platform/pc/cpu/interrupts/pic.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
/*
* @function irq_remap:
@@ -31,28 +31,21 @@
#include
#include
-
void remap_pic_irq()
{
- outb(I386_MASTER_REG_COMMAND , ICW1);
- outb(I386_SLAVE_REG_COMMAND ,ICW1);
+ outb(I386_MASTER_REG_COMMAND, ICW1);
+ outb(I386_SLAVE_REG_COMMAND, ICW1);
- outb(I386_MASTER_REG_DATA,IRQ_START); //0x20 = 32
- outb(I386_SLAVE_REG_IMR,IRQ_END); //0x28 = 47
+ outb(I386_MASTER_REG_DATA, IRQ_START); //0x20 = 32
+ outb(I386_SLAVE_REG_IMR, IRQ_END); //0x28 = 47
- outb(I386_MASTER_REG_DATA,I386_PIC_ICW2_IRQLINE_PRIMARY_IR2); //0x04 = 0100
- outb(I386_SLAVE_REG_IMR ,I386_PIC_ICW2_IRQLINE_SECONDARY_IR2); //0x02 = 010
+ outb(I386_MASTER_REG_DATA, I386_PIC_ICW2_IRQLINE_PRIMARY_IR2); //0x04 = 0100
+ outb(I386_SLAVE_REG_IMR, I386_PIC_ICW2_IRQLINE_SECONDARY_IR2); //0x02 = 010
- outb(I386_MASTER_REG_DATA,I386_PIC_ICW4_MASK_UPM); // 80x86 MODE
- outb(I386_SLAVE_REG_IMR,I386_PIC_ICW4_MASK_UPM); // 80x86 MODE
+ outb(I386_MASTER_REG_DATA, I386_PIC_ICW4_MASK_UPM); // 80x86 MODE
+ outb(I386_SLAVE_REG_IMR, I386_PIC_ICW4_MASK_UPM); // 80x86 MODE
- //Null out data registers
- outb(I386_MASTER_REG_DATA,PIC_NULL);
- outb(I386_SLAVE_REG_IMR ,PIC_NULL);
+ //Null out data registers
+ outb(I386_MASTER_REG_DATA, PIC_NULL);
+ outb(I386_SLAVE_REG_IMR, PIC_NULL);
}
-
-
-
-
-
-
diff --git a/platform/pc/drv/cmos/rtc/rtc.c b/platform/pc/drv/cmos/rtc/rtc.c
index 81fa16b..dbeefed 100644
--- a/platform/pc/drv/cmos/rtc/rtc.c
+++ b/platform/pc/drv/cmos/rtc/rtc.c
@@ -43,83 +43,79 @@ uint8_t rtc_get_second()
return inb(CMOS_REGiSTER_DATA);
}
-
uint8_t rtc_get_minute()
{
outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_MINUTES);
return inb (CMOS_REGiSTER_DATA);
}
-
uint8_t rtc_get_hour()
{
- outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_HOURS);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_HOURS);
+ return inb(CMOS_REGiSTER_DATA);
}
uint8_t rtc_get_weekday()
{
- outb(CMOS_REGISTER_SELECT,CMOS_REGISTER_WEEKDAY);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_WEEKDAY);
+ return inb(CMOS_REGiSTER_DATA);
}
-
uint8_t rtc_get_day_month()
{
- outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_DAYMONTH);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_DAYMONTH);
+ return inb(CMOS_REGiSTER_DATA);
}
-
uint8_t rtc_get_month()
{
- outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_MONTH);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_MONTH);
+ return inb(CMOS_REGiSTER_DATA);
}
uint8_t rtc_get_year()
{
- outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_YEAR);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_YEAR);
+ return inb(CMOS_REGiSTER_DATA);
}
uint8_t rtc_get_century()
{
- outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_CENTURY);
- return inb(CMOS_REGiSTER_DATA);
+ outb(CMOS_REGISTER_SELECT, CMOS_REGISTER_CENTURY);
+ return inb(CMOS_REGiSTER_DATA);
}
static const char* month_to_text(uint8_t num)
{
- const char* month;
- if(num < 1 || num > 12)
- panik("INVALID MONTH");
-
- const char* months_str[12] =
- {
- "Jan", "Feb" , "Mar", "Apr" , "May",
- "Jun", "Jul", "Aug" , "Sep", "Oct",
- "Nov", "Dec"
- };
-
- month = months_str[num-1];
- return month;
+ const char* month;
+ if(num < 1 || num > 12)
+ panik("INVALID MONTH");
+
+ const char* months_str[12] =
+ {
+ "Jan", "Feb" , "Mar", "Apr" , "May",
+ "Jun", "Jul", "Aug" , "Sep", "Oct",
+ "Nov", "Dec"
+ };
+
+ month = months_str[num - 1];
+ return month;
}
static const char* date_to_text(uint8_t num)
{
- const char* date;
- if(num < 1 || num > 7)
- panik("INVALID MONTH");
-
- const char* dates_str[7] =
- {
- "Mon", "Tue" , "Wed", "Thu" , "Fri",
- "Sat", "Sun"
- };
-
- date = dates_str[num-2];
- return date;
+ const char* date;
+ if(num < 1 || num > 7)
+ panik("INVALID MONTH");
+
+ const char* dates_str[7] =
+ {
+ "Mon", "Tue" , "Wed", "Thu" , "Fri",
+ "Sat", "Sun"
+ };
+
+ date = dates_str[num - 2];
+ return date;
}
rtc_t rtc_get_time()
@@ -128,7 +124,7 @@ rtc_t rtc_get_time()
rtc_t last; //Keep reading time until we get the same values twice
memset(&last, 0xFF, sizeof(last));
- for (curr.year = 0;memcmp(&curr,&last,sizeof(curr)); last = curr)
+ for (curr.year = 0; memcmp(&curr, &last, sizeof(curr)); last = curr)
{
curr.century = rtc_get_century();
curr.year = rtc_get_year();
@@ -142,31 +138,30 @@ rtc_t rtc_get_time()
return curr;
}
-void rtc_print_date ()
+void rtc_print_date()
{
rtc_t current_time = rtc_get_time();
printk("%s %s %x %x:%x:%x UTC %x%x\n",
- date_to_text(current_time.weekday),
- month_to_text(current_time.month),
- current_time.day,
- current_time.hour,
- current_time.minute,
- current_time.second,
- current_time.century,
- current_time.year);
+ date_to_text(current_time.weekday),
+ month_to_text(current_time.month),
+ current_time.day,
+ current_time.hour,
+ current_time.minute,
+ current_time.second,
+ current_time.century,
+ current_time.year);
}
-void rtc_print_struct (rtc_t current_time)
+void rtc_print_struct(rtc_t current_time)
{
printk("%s %s %x %x:%x:%x UTC %x%x\n",
- date_to_text(current_time.weekday),
- month_to_text(current_time.month),
- current_time.day,
- current_time.hour,
- current_time.minute,
- current_time.second,
- current_time.century,
- current_time.year);
+ date_to_text(current_time.weekday),
+ month_to_text(current_time.month),
+ current_time.day,
+ current_time.hour,
+ current_time.minute,
+ current_time.second,
+ current_time.century,
+ current_time.year);
}
-
diff --git a/platform/pc/drv/driver.c b/platform/pc/drv/driver.c
index ea4981d..04b8470 100644
--- a/platform/pc/drv/driver.c
+++ b/platform/pc/drv/driver.c
@@ -47,52 +47,46 @@ struct device_driver_t *drivers[] =
*/
void setup_driver_handler(void)
{
+ /*Initalize and Uninitalize functions for Video Driver*/
+ video_driver.init = video_drivers[VGA_VIDEO_DRIVER_INDEX]->init;
+ video_driver.uninit = video_drivers[VGA_VIDEO_DRIVER_INDEX]->uninit;
+ video_driver.status = video_drivers[VGA_VIDEO_DRIVER_INDEX]->status;
- /*Initalize and Uninitalize functions for Video Driver*/
- video_driver.init = video_drivers[VGA_VIDEO_DRIVER_INDEX]->init;
- video_driver.uninit = video_drivers[VGA_VIDEO_DRIVER_INDEX]->uninit;
- video_driver.status = video_drivers[VGA_VIDEO_DRIVER_INDEX]->status;
-
- init_all_drivers();
+ init_all_drivers();
}
//check if device is initalized
bool device_initalized(int index)
{
- return (drivers[index]->initalized);
+ return (drivers[index]->initalized);
}
//initalize device driver
int init_device_driver(uint32_t index)
{
- drivers[index]->init();
- return 0;
+ drivers[index]->init();
+ return 0;
}
//uninitalize device driver
int uninit_device_driver(uint32_t index)
{
- drivers[index]->uninit();
- return 0;
+ drivers[index]->uninit();
+ return 0;
}
//initalize all device drivers
int init_all_drivers(void)
{
- for(uint32_t i=0; drivers[i]; i++)
- init_device_driver(i);
- return 0;
+ for(uint32_t i = 0; drivers[i]; i++)
+ init_device_driver(i);
+ return 0;
}
//unintalize all device drivers
int uninit_all_drivers(void)
{
- for(uint32_t i=0; drivers[i]; i++)
- uninit_device_driver(i);
- return 0;
+ for(uint32_t i = 0; drivers[i]; i++)
+ uninit_device_driver(i);
+ return 0;
}
-
-
-
-
-
diff --git a/platform/pc/drv/pit/pit.c b/platform/pc/drv/pit/pit.c
index d6121d6..4e4b291 100644
--- a/platform/pc/drv/pit/pit.c
+++ b/platform/pc/drv/pit/pit.c
@@ -28,18 +28,17 @@
#include
#include
#include
-#include
-
+#include
+
//Timer Driver Handler
struct device_driver_t pit_driver =
{
- .name = "8253 Programmable Interval Timer",
- .init = &init_pit,
- .uninit = &uninit_pit,
- .version = "8253"
+ .name = "8253 Programmable Interval Timer",
+ .init = &init_pit,
+ .uninit = &uninit_pit,
+ .version = "8253"
};
-
volatile uint32_t pit_ticks = 0;
/*
@@ -49,7 +48,7 @@ volatile uint32_t pit_ticks = 0;
*/
static void send_pit_command(uint8_t cmd)
{
- outb(I386_PIT_CONTROL_WORD_REG, cmd);
+ outb(I386_PIT_CONTROL_WORD_REG, cmd);
}
/*
@@ -59,7 +58,7 @@ static void send_pit_command(uint8_t cmd)
*/
static void send_msg_counter_0(uint8_t cmd)
{
- outb(I386_PIT_COUNTER_0_REG,cmd);
+ outb(I386_PIT_COUNTER_0_REG, cmd);
}
/*
@@ -70,18 +69,18 @@ static void send_msg_counter_0(uint8_t cmd)
*/
static void pit_phase(int htz)
{
- //1.19MHz / htz
- //dictates how any times
- //the IRQ Should fire
- int divisor = 1193180 / htz;
+ //1.19MHz / htz
+ //dictates how any times
+ //the IRQ Should fire
+ int divisor = 1193180 / htz;
- send_pit_command( I386_PIT_OCW_BINCOUNT_BINARY |
- I386_PIT_OCW_MODE_SQUAREWAVEGEN |
- I386_PIT_OCW_RL_DATA |
- I386_PIT_OCW_SCO_COUNTER_0);
+ send_pit_command(I386_PIT_OCW_BINCOUNT_BINARY |
+ I386_PIT_OCW_MODE_SQUAREWAVEGEN |
+ I386_PIT_OCW_RL_DATA |
+ I386_PIT_OCW_SCO_COUNTER_0);
- send_msg_counter_0(divisor & 0xFF);
- send_msg_counter_0(divisor >> 8);
+ send_msg_counter_0(divisor & 0xFF);
+ send_msg_counter_0(divisor >> 8);
}
/*
@@ -95,9 +94,9 @@ static void pit_phase(int htz)
*/
static int pit_handler_nest()
{
- //printk("%d SECONDS\n", (pit_ticks/IRQ_SEC_HIT));
+ //printk("%d SECONDS\n", (pit_ticks/IRQ_SEC_HIT));
- return 0;
+ return 0;
}
/*
@@ -108,11 +107,11 @@ static int pit_handler_nest()
*/
static void pit_handler(int_regs *r)
{
- if(r){};
- pit_ticks++;
- if (pit_ticks % IRQ_SEC_HIT == 0)
- if(pit_handler_nest()!=0)
- panik("PIT Handler Nest Exception");
+ if(r){};
+ pit_ticks++;
+ if(pit_ticks % IRQ_SEC_HIT == 0)
+ if(pit_handler_nest() != 0)
+ panik("PIT Handler Nest Exception");
}
/*
@@ -123,22 +122,16 @@ static void pit_handler(int_regs *r)
*/
int init_pit()
{
- pit_driver.initalized = true;
- pit_driver.status = STATUS_DRIVER_OK;
- pit_phase(IRQ_SEC_HIT);
- install_irq_handler(IRQ_NUM_PIT,pit_handler);
- return STATUS_OK;
+ pit_driver.initalized = true;
+ pit_driver.status = STATUS_DRIVER_OK;
+ pit_phase(IRQ_SEC_HIT);
+ install_irq_handler(IRQ_NUM_PIT, pit_handler);
+ return STATUS_OK;
}
int uninit_pit()
{
- pit_driver.initalized = false;
- uninstall_irq_handler(IRQ_NUM_PIT);
- return STATUS_OK;
+ pit_driver.initalized = false;
+ uninstall_irq_handler(IRQ_NUM_PIT);
+ return STATUS_OK;
}
-
-
-
-
-
-
diff --git a/platform/pc/drv/ps2/kbd/kbd.c b/platform/pc/drv/ps2/kbd/kbd.c
index 5dd96a5..86b14a4 100644
--- a/platform/pc/drv/ps2/kbd/kbd.c
+++ b/platform/pc/drv/ps2/kbd/kbd.c
@@ -1,68 +1,65 @@
-/**
- ** This file is part of BoneOS.
- **
- ** BoneOS is free software: you can redistribute it and/or modify
- ** it under the terms of the GNU General Public License as published by
- ** the Free Software Foundation, either version 3 of the License, or
- ** (at your option) any later version.
-
- ** BoneOS is distributed in the hope that it will be useful,
- ** but WITHOUT ANY WARRANTY; without even the implied warranty of
- ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- ** GNU General Public License for more details.
-
- ** You should have received a copy of the GNU General Public License
- ** along with BoneOS. If not, see .
- **
- ** @main_author : Amanuel Bogale
- **
- ** @contributors:
-
- ** Amanuel Bogale : start
- ** Ashish Ahuja
- **/
-
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-#include
-
-
-
-volatile struct kbd_info_t kbd_info;
-volatile int INDEX_CURSOR_POSITION=0;
-volatile bool UP_KEY_ACTIVE=true;
-
-volatile bool TAB_PREVIOUS_VALUE_SET = false;
-volatile char* TAB_PREVIOUS_VALUE = 0;
-
-char tab__ [1024];
-
-
-//Is this getting emulated at a terminal
-extern volatile bool TERMINAL_MODE;
-
-//getchar();
-extern volatile bool __get_char_set;
-extern volatile char __get_char_chr;
-
+/**
+ ** This file is part of BoneOS.
+ **
+ ** BoneOS is free software: you can redistribute it and/or modify
+ ** it under the terms of the GNU General Public License as published by
+ ** the Free Software Foundation, either version 3 of the License, or
+ ** (at your option) any later version.
+
+ ** BoneOS is distributed in the hope that it will be useful,
+ ** but WITHOUT ANY WARRANTY; without even the implied warranty of
+ ** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ ** GNU General Public License for more details.
+
+ ** You should have received a copy of the GNU General Public License
+ ** along with BoneOS. If not, see .
+ **
+ ** @main_author : Amanuel Bogale
+ **
+ ** @contributors:
+
+ ** Amanuel Bogale : start
+ ** Ashish Ahuja
+ **/
+
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+#include
+
+volatile struct kbd_info_t kbd_info;
+volatile int INDEX_CURSOR_POSITION = 0;
+volatile bool UP_KEY_ACTIVE = true;
+
+volatile bool TAB_PREVIOUS_VALUE_SET = false;
+volatile char* TAB_PREVIOUS_VALUE = 0;
+
+char tab__[1024];
+
+//Is this getting emulated at a terminal
+extern volatile bool TERMINAL_MODE;
+
+//getchar();
+extern volatile bool __get_char_set;
+extern volatile char __get_char_chr;
+
//Keyboard Driver Handler
struct device_driver_t kbd_driver =
{
@@ -70,412 +67,387 @@ struct device_driver_t kbd_driver =
.init = &init_kbd,
.uninit = &uninit_kbd,
.version = "8042"
-};
-
-
-/*
- * @function key_press:
- * Nested Function under
- * @kbd_handler , and called
- * if Key is pressed.
- *
- * @param scancode:
- * Scancode in HEX Format.
- * @return char:
- * Returns character from that
- * scancode in HEX Format.
- */
-int key_press(uint8_t scancode)
-{
- if(kbd_info.is_shift)
- return (kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_shift[scancode]);
- else
- return (kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode]);
-}
-
-/*
- * @function key_release:
- * Nested Function under
- * @kbd_handler , and called
- * if Key is released.
- *
- * @param scancode:
- * Scancode in HEX Format.
- */
-void key_release(uint8_t scancode)
-{
- if (
- kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode] == KBD_LEFT_SHIFT_PRESS_ID ||
- kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode] == KBD_RIGHT_SHIFT_PRESS_ID
- ) {
- kbd_info.is_shift = false;
- }
-
- if ((int)(scancode) == 29) //Scancode of "Control" key
- kbd_info.is_ctrl = false;
-}
-
-/*
- * @function kbd_early_init:
- * Stuff to initalize
- * before installing
- * the PS/2 Keyboard
- */
-void kbd_early_init()
-{
- kbd_info.tests.bat_test = bat_test();
-
- if(!kbd_info.tests.bat_test)
- {
- kbd_driver.status = STATUS_DRIVER_MALFUNCTION;
- printck(0x3,0x1,"BAT TEST FAILED");
- }
- else
- kbd_driver.status = STATUS_DRIVER_OK;
-
-
- led_light(false,false,false);
- kbd_info.is_shift = false;
- kbd_info.is_caps = false;
-
- active_scank = false;
- print_scank = false;
-
- kbd_info.current_kbd_layout_index = QWERTY_USA_INDEX;
-}
-
-
-
-/*
- * @utility wait_until_enter
- * Utility for Scank , to
- * wait and store string
- * until enter is pressed
- */
-void wait_until_enter(char key)
-{
- buffer_scank[index_scank++] = key;
- buffer_scank[index_scank] = 0;
-}
-
-/*
- * @utility inc_al
- * INcrements Position
- * and adds to length input.
- * used for when character typed.
- */
-
-static inline void inc_al()
-{
- INDEX_CURSOR_POSITION++;
- LENGTH_INPUT++;
-}
-
-
-/*
- * @utility key_handler_util
- * Utility used for default
- * cases in @key_handler.
- * used to print non
- * 'extreme-special' characters.
- *
- * @param key(int):
- * Character represented
- * int for NON-DOS MODE
- * , and use of special
- * characters.(#define)
- */
-void key_handler_util(int key)
-{
- //First checking for shortcut commands
- if (kbd_info.is_ctrl == true)
- {
- if (key == 'l' || key == 'L')
- {
- cmds [CMD_CLEAR_INDEX]->handler ("clear");
- printk (" ");
- kbd_info.key = KBD_ENTER_PRESS_ID;
- key_handler();
- cmds [CMD_CLEAR_INDEX]->handler ("clear");
- return;
- }
- else if (key == 'h' || key == 'H')
- {
- key_handler_util_backspace();
- return;
- }
- }
-
- if(isalpha(key)==0)
- {
- if(print_scank == true && active_scank == true)
- {
- inc_al();
- printk("%c", key);
- wait_until_enter(key);
- }
-
- else if(active_scank == true)
- wait_until_enter(key);
- }
- else
- {
- if(kbd_info.is_caps == false && print_scank == true && active_scank == true)
- {
- inc_al();
- if (kbd_info.is_shift == true) {
- printk("%c", toupper(key));
- }
- else if (kbd_info.is_shift == false) {
- printk ("%c", tolower (key));
- }
- wait_until_enter(key);
- }
- else if(kbd_info.is_caps == true && print_scank == true && active_scank == true)
- {
- inc_al();
- if(kbd_info.is_shift == true)
- {
- key = tolower (key);
- }
- else
- {
- key = toupper (key);
- }
- printk ("%c", key);
- wait_until_enter(key);
- }
- else if(active_scank == true)
- wait_until_enter(key);
- }
-}
-
-void key_handler_util_backspace()
-{
- if(!((LENGTH_INPUT-1) < 0))
- {
- if(active_scank)
- buffer_scank[index_scank--] = 0;
-
- if(print_scank == true)
- printk("\b");
-
- INDEX_CURSOR_POSITION-=1;
- LENGTH_INPUT-=1;
- }
-}
-
-
-bool tab_util(volatile char* buf_scan, volatile char* _cmd)
-{
- for(int i=0; buf_scan[i]; i++)
- if(buf_scan[i] != _cmd[i])
- return false;
-
- return true;
-}
-
-void key_handler_util_tab()
-{
- int index_tab=0;
- int num_cmds=0;
- for(int i=0; cmds[i]; i++)
- {
- if(tab_util(buffer_scank, cmds[i]->name) == true)
- {
- num_cmds++;
- for(int j=0; cmds[i]->name[j]; j++)
- {
- tab__[index_tab] = cmds[i]->name[j];
- index_tab++;
- }
- for(int rep=0; rep<4; rep++)tab__[index_tab++] = ' ';
- }
- }
- tab__[index_tab] = 0;
- if(num_cmds==1)
- {
- printk ("\n");
- for(int i = 0; tab__[i]; i ++) {
- printk("%c", tab__[i]);
- cmd_active.value [i] = tab__ [i];
- }
- tab_one_opt=true;
- return;
- }
-
- if (num_cmds > 1) {
- tab_multiple_opts=true;
- printk ("\n");
- for(int i=0; tab__[i]; i++)
- printk("%c", tab__[i]);
- }
- else {
- tab_zero_opt = true;
- }
-}
-
-
-/*
- * @function key_handler:
- * Handles key events.
- * called by primary
- * keyborad handler
- * @kbd_handler.
- *
- */
-void key_handler()
-{
- switch(kbd_info.key)
- {
- //Is shift pressed
- case KBD_LEFT_SHIFT_PRESS_ID:
- case KBD_RIGHT_SHIFT_PRESS_ID:
- kbd_info.is_shift = true;
- break;
- case KBD_CAPS_PRESS_ID:
- kbd_info.is_caps = !kbd_info.is_caps;
- break;
- case KBD_UP_KEY_ID:
- if(TERMINAL_MODE == true && UP_KEY_ACTIVE == true)
- {
- UP_KEY_ACTIVE = false;
- int LENGTH_INPUT_STORE = LENGTH_INPUT;
-
- for (int i=0; i= 32 && ((int)kbd_info.key) <=47)
- key_handler_util(kbd_info.key);
- else if(((int)kbd_info.key) >= 58 && ((int)kbd_info.key) <=64)
- key_handler_util(kbd_info.key);
- else if(((int)kbd_info.key) >= 91 && ((int)kbd_info.key) <=96)
- key_handler_util(kbd_info.key);
- else if(((int)kbd_info.key) >= 123 && ((int)kbd_info.key) <=126)
- key_handler_util(kbd_info.key);
- break;
- }
-}
-
-
-/*
- * @function kbd_handler:
- * Primary Keyboard Handler
- * called by the IRQ Handler.
- *
- * @param int_regs *r:
- * Info about Registers
- * during IRQ Request
- */
-void kbd_handler(int_regs *r)
-{
- if(r){};
- kbd_info.scancode = kbd_enc_read_input_buf();
-
- if(kbd_info.scancode & 0x80)
- key_release(kbd_info.scancode & ~0x80);
- else
- {
- kbd_info.key = key_press(kbd_info.scancode);
- __get_char_chr = kbd_info.key;
- __get_char_set = true;
- key_handler();
- }
-}
-
-/*
- * @function init_kbd:
- * Initalize the Keyboard
- * PS/2 Driver
- *
- * @return {STATUS}:
- * returns STATUS_OK
- * if sucessfully exited.
- */
-int init_kbd()
-{
- kbd_driver.initalized = true;
- kbd_early_init();
- install_irq_handler(IRQ_NUM_KBD,kbd_handler);
- return STATUS_OK;
-}
-
-/*
- * @function uninit_kbd:
- * Uninitalize the Keyboard
- * PS/2 Driver
- *
- * @return {STATUS}:
- * returns STATUS_OK
- * if sucessfully exited.
- */
-int uninit_kbd()
-{
- kbd_driver.initalized = false;
- uninstall_irq_handler(IRQ_NUM_KBD);
- return STATUS_OK;
-}
-
-
-
-
-
-
+};
+
+/*
+ * @function key_press:
+ * Nested Function under
+ * @kbd_handler , and called
+ * if Key is pressed.
+ *
+ * @param scancode:
+ * Scancode in HEX Format.
+ * @return char:
+ * Returns character from that
+ * scancode in HEX Format.
+ */
+int key_press(uint8_t scancode)
+{
+ if(kbd_info.is_shift)
+ return (kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_shift[scancode]);
+ else
+ return (kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode]);
+}
+
+/*
+ * @function key_release:
+ * Nested Function under
+ * @kbd_handler , and called
+ * if Key is released.
+ *
+ * @param scancode:
+ * Scancode in HEX Format.
+ */
+void key_release(uint8_t scancode)
+{
+ if (
+ kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode] == KBD_LEFT_SHIFT_PRESS_ID ||
+ kbd_layouts[kbd_info.current_kbd_layout_index]->scancode_no_shift[scancode] == KBD_RIGHT_SHIFT_PRESS_ID
+ )
+ kbd_info.is_shift = false;
+
+ if ((int) scancode == 29) //Scancode of "Control" key
+ kbd_info.is_ctrl = false;
+}
+
+/*
+ * @function kbd_early_init:
+ * Stuff to initalize
+ * before installing
+ * the PS/2 Keyboard
+ */
+void kbd_early_init()
+{
+ kbd_info.tests.bat_test = bat_test();
+
+ if(!kbd_info.tests.bat_test)
+ {
+ kbd_driver.status = STATUS_DRIVER_MALFUNCTION;
+ printck(0x3, 0x1, "BAT TEST FAILED");
+ }
+ else
+ kbd_driver.status = STATUS_DRIVER_OK;
+
+ led_light(false, false, false);
+ kbd_info.is_shift = false;
+ kbd_info.is_caps = false;
+
+ active_scank = false;
+ print_scank = false;
+
+ kbd_info.current_kbd_layout_index = QWERTY_USA_INDEX;
+}
+
+/*
+ * @utility wait_until_enter
+ * Utility for Scank , to
+ * wait and store string
+ * until enter is pressed
+ */
+void wait_until_enter(char key)
+{
+ buffer_scank[index_scank++] = key;
+ buffer_scank[index_scank] = 0;
+}
+
+/*
+ * @utility inc_al
+ * INcrements Position
+ * and adds to length input.
+ * used for when character typed.
+ */
+static inline void inc_al()
+{
+ INDEX_CURSOR_POSITION++;
+ LENGTH_INPUT++;
+}
+
+/*
+ * @utility key_handler_util
+ * Utility used for default
+ * cases in @key_handler.
+ * used to print non
+ * 'extreme-special' characters.
+ *
+ * @param key(int):
+ * Character represented
+ * int for NON-DOS MODE
+ * , and use of special
+ * characters.(#define)
+ */
+void key_handler_util(int key)
+{
+ //First checking for shortcut commands
+ if(kbd_info.is_ctrl == true)
+ {
+ if(key == 'l' || key == 'L')
+ {
+ cmds[CMD_CLEAR_INDEX]->handler("clear");
+ printk (" ");
+ kbd_info.key = KBD_ENTER_PRESS_ID;
+ key_handler();
+ cmds[CMD_CLEAR_INDEX]->handler("clear");
+ return;
+ }
+ else if(key == 'h' || key == 'H')
+ {
+ key_handler_util_backspace();
+ return;
+ }
+ }
+
+ if(isalpha(key) == 0)
+ {
+ if(print_scank == true && active_scank == true)
+ {
+ inc_al();
+ printk("%c", key);
+ wait_until_enter(key);
+ }
+ else if(active_scank == true)
+ wait_until_enter(key);
+ }
+ else
+ {
+ if(kbd_info.is_caps == false && print_scank == true && active_scank == true)
+ {
+ inc_al();
+ if (kbd_info.is_shift == true)
+ printk("%c", toupper(key));
+ else if (kbd_info.is_shift == false)
+ printk ("%c", tolower (key));
+ wait_until_enter(key);
+ }
+ else if(kbd_info.is_caps == true && print_scank == true && active_scank == true)
+ {
+ inc_al();
+ if(kbd_info.is_shift == true)
+ key = tolower(key);
+ else
+ key = toupper(key);
+ printk("%c", key);
+ wait_until_enter(key);
+ }
+ else if(active_scank == true)
+ wait_until_enter(key);
+ }
+}
+
+void key_handler_util_backspace()
+{
+ if(!((LENGTH_INPUT-1) < 0))
+ {
+ if(active_scank)
+ buffer_scank[index_scank--] = 0;
+
+ if(print_scank == true)
+ printk("\b");
+
+ INDEX_CURSOR_POSITION -= 1;
+ LENGTH_INPUT -= 1;
+ }
+}
+
+bool tab_util(volatile char* buf_scan, volatile char* _cmd)
+{
+ for(int i = 0; buf_scan[i]; i++)
+ if(buf_scan[i] != _cmd[i])
+ return false;
+
+ return true;
+}
+
+void key_handler_util_tab()
+{
+ int index_tab = 0;
+ int num_cmds = 0;
+ for(int i = 0; cmds[i]; i++)
+ {
+ if(tab_util(buffer_scank, cmds[i]->name) == true)
+ {
+ num_cmds++;
+ for(int j = 0; cmds[i]->name[j]; j++)
+ {
+ tab__[index_tab] = cmds[i]->name[j];
+ index_tab++;
+ }
+ for(int rep = 0; rep < 4; rep++) tab__[index_tab++] = ' ';
+ }
+ }
+ tab__[index_tab] = 0;
+ if(num_cmds == 1)
+ {
+ printk ("\n");
+ for(int i = 0; tab__[i]; i ++) {
+ printk("%c", tab__[i]);
+ cmd_active.value[i] = tab__[i];
+ }
+ tab_one_opt = true;
+ return;
+ }
+
+ if (num_cmds > 1) {
+ tab_multiple_opts=true;
+ printk ("\n");
+ for(int i = 0; tab__[i]; i++)
+ printk("%c", tab__[i]);
+ }
+ else
+ tab_zero_opt = true;
+}
+
+/*
+ * @function key_handler:
+ * Handles key events.
+ * called by primary
+ * keyborad handler
+ * @kbd_handler.
+ *
+ */
+void key_handler()
+{
+ switch(kbd_info.key)
+ {
+ //Is shift pressed
+ case KBD_LEFT_SHIFT_PRESS_ID:
+ case KBD_RIGHT_SHIFT_PRESS_ID:
+ kbd_info.is_shift = true;
+ break;
+ case KBD_CAPS_PRESS_ID:
+ kbd_info.is_caps = !kbd_info.is_caps;
+ break;
+ case KBD_UP_KEY_ID:
+ if(TERMINAL_MODE == true && UP_KEY_ACTIVE == true)
+ {
+ UP_KEY_ACTIVE = false;
+ int LENGTH_INPUT_STORE = LENGTH_INPUT;
+
+ for (int i = 0; i < LENGTH_INPUT_STORE; i++)
+ key_handler_util_backspace();
+
+ for(int i = 0; cmd_active.value[i]; i++)
+ {
+ if(active_scank == true && print_scank == true)
+ {
+ wait_until_enter(cmd_active.value[i]);
+ LENGTH_INPUT++;
+ }
+ }
+ printk("%s", cmd_active.value);
+ }
+ break;
+ case KBD_CONTROL_PRESS_ID:
+ kbd_info.is_ctrl = true;
+ break;
+ case KBD_ENTER_PRESS_ID:
+ kbd_info.is_enter = true;
+ active_scank = false;
+ buffer_scank[index_scank] = 0;
+
+ if(print_scank == true)
+ printk("\n");
+
+ UP_KEY_ACTIVE = true; //Reset Up Key
+ break;
+ case '\b':
+ key_handler_util_backspace();
+ break;
+ case '\t':
+ if(TERMINAL_MODE==false)
+ {
+ printk("\t");
+ LENGTH_INPUT += 4;
+ INDEX_CURSOR_POSITION += 4;
+ }
+ else
+ {
+ key_handler_util_tab();
+ active_scank = false;
+ buffer_scank[index_scank] = 0;
+
+ if(print_scank == true && tab_zero_opt == false)
+ printk("\n");
+
+ UP_KEY_ACTIVE = true; //Reset Up Key
+ TAB_PREVIOUS_VALUE_SET = true;
+ TAB_PREVIOUS_VALUE = buffer_scank;
+ }
+ break;
+ case '\n':
+ if(print_scank == true)
+ printk("\n");
+ break;
+ default:
+ if(isalpha(kbd_info.key) != 0)
+ key_handler_util(kbd_info.key);
+ else if(isdigit(kbd_info.key) != 0)
+ key_handler_util(kbd_info.key);
+ else if(((int) kbd_info.key) >= 32 && ((int) kbd_info.key) <= 47)
+ key_handler_util(kbd_info.key);
+ else if(((int) kbd_info.key) >= 58 && ((int) kbd_info.key) <= 64)
+ key_handler_util(kbd_info.key);
+ else if(((int) kbd_info.key) >= 91 && ((int) kbd_info.key) <= 96)
+ key_handler_util(kbd_info.key);
+ else if(((int) kbd_info.key) >= 123 && ((int) kbd_info.key) <= 126)
+ key_handler_util(kbd_info.key);
+ break;
+ }
+}
+
+/*
+ * @function kbd_handler:
+ * Primary Keyboard Handler
+ * called by the IRQ Handler.
+ *
+ * @param int_regs *r:
+ * Info about Registers
+ * during IRQ Request
+ */
+void kbd_handler(int_regs *r)
+{
+ if(r) {};
+ kbd_info.scancode = kbd_enc_read_input_buf();
+
+ if(kbd_info.scancode & 0x80)
+ key_release(kbd_info.scancode & ~0x80);
+ else
+ {
+ kbd_info.key = key_press(kbd_info.scancode);
+ __get_char_chr = kbd_info.key;
+ __get_char_set = true;
+ key_handler();
+ }
+}
+
+/*
+ * @function init_kbd:
+ * Initalize the Keyboard
+ * PS/2 Driver
+ *
+ * @return {STATUS}:
+ * returns STATUS_OK
+ * if sucessfully exited.
+ */
+int init_kbd()
+{
+ kbd_driver.initalized = true;
+ kbd_early_init();
+ install_irq_handler(IRQ_NUM_KBD, kbd_handler);
+ return STATUS_OK;
+}
+
+/*
+ * @function uninit_kbd:
+ * Uninitalize the Keyboard
+ * PS/2 Driver
+ *
+ * @return {STATUS}:
+ * returns STATUS_OK
+ * if sucessfully exited.
+ */
+int uninit_kbd()
+{
+ kbd_driver.initalized = false;
+ uninstall_irq_handler(IRQ_NUM_KBD);
+ return STATUS_OK;
+}
diff --git a/platform/pc/drv/ps2/kbd/kbd_layouts/scancodes_usa.c b/platform/pc/drv/ps2/kbd/kbd_layouts/scancodes_usa.c
index 4f50fe1..3b574c7 100644
--- a/platform/pc/drv/ps2/kbd/kbd_layouts/scancodes_usa.c
+++ b/platform/pc/drv/ps2/kbd/kbd_layouts/scancodes_usa.c
@@ -18,7 +18,7 @@
**
** @contributors:
- ** Amanuel Bogale : start
+ ** Amanuel Bogale : start
** Ashish Ahuja
**/
@@ -28,86 +28,80 @@
int const QWERTY_USA_NOSHIFT_VAL[] =
{
0, 27, '1', '2', '3', '4', '5', '6', '7', '8', /* 9 */
- '9', '0', '-', '=', '\b', /* Backspace */
- '\t', /* Tab */
- 'q', 'w', 'e', 'r', /* 19 */
- 't', 'y', 'u', 'i', 'o', 'p', '[', ']', KBD_ENTER_PRESS_ID, /* Enter key */
- KBD_CONTROL_PRESS_ID, /* 29 - Control */
- 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* 39 */
- '\'', '`', KBD_LEFT_SHIFT_PRESS_ID, /* Left shift */
- '\\', 'z', 'x', 'c', 'v', 'b', 'n', /* 49 */
- 'm', ',', '.','/', KBD_RIGHT_SHIFT_PRESS_ID, /* Right shift */
- '*',
- 0, /* Alt */
- ' ', /* Space bar */
- KBD_CAPS_PRESS_ID, /* Caps lock */
- 0, /* 59 - F1 key ... > */
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, /* < ... F10 */
- 0, /* 69 - Num lock*/
- 0, /* Scroll Lock */
- 0, /* Home key */
- KBD_UP_KEY_ID, /* Up Arrow */
- 0, /* Page Up */
- '-',
- KBD_LEFT_KEY_ID, /* Left Arrow */
+ '9', '0', '-', '=', '\b', /* Backspace */
+ '\t', /* Tab */
+ 'q', 'w', 'e', 'r', /* 19 */
+ 't', 'y', 'u', 'i', 'o', 'p', '[', ']', KBD_ENTER_PRESS_ID, /* Enter key */
+ KBD_CONTROL_PRESS_ID, /* 29 - Control */
+ 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', ';', /* 39 */
+ '\'', '`', KBD_LEFT_SHIFT_PRESS_ID, /* Left shift */
+ '\\', 'z', 'x', 'c', 'v', 'b', 'n', /* 49 */
+ 'm', ',', '.','/', KBD_RIGHT_SHIFT_PRESS_ID, /* Right shift */
+ '*',
+ 0, /* Alt */
+ ' ', /* Space bar */
+ KBD_CAPS_PRESS_ID, /* Caps lock */
+ 0, /* 59 - F1 key ... > */
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, /* < ... F10 */
+ 0, /* 69 - Num lock*/
+ 0, /* Scroll Lock */
+ 0, /* Home key */
+ KBD_UP_KEY_ID, /* Up Arrow */
+ 0, /* Page Up */
+ '-',
+ KBD_LEFT_KEY_ID, /* Left Arrow */
0,
- KBD_RIGHT_KEY_ID, /* Right Arrow */
- '+',
- 0, /* 79 - End key*/
- KBD_DOWN_KEY_ID, /* Down Arrow */
- 0, /* Page Down */
- 0, /* Insert Key */
- 0, /* Delete Key */
- 0, 0, 0,
- 0, /* F11 Key */
- 0, /* F12 Key */
- 0, /* All other keys are undefined */
+ KBD_RIGHT_KEY_ID, /* Right Arrow */
+ '+',
+ 0, /* 79 - End key*/
+ KBD_DOWN_KEY_ID, /* Down Arrow */
+ 0, /* Page Down */
+ 0, /* Insert Key */
+ 0, /* Delete Key */
+ 0, 0, 0,
+ 0, /* F11 Key */
+ 0, /* F12 Key */
+ 0, /* All other keys are undefined */
};
//USA Scancode Shift Pressed
int const QWERTY_USA_SHIFT_VAL[] =
{
0, 27, '!', '@', '#', '$', '%', '^', '&', '*', /* 9 */
- '(', ')', '_', '+', '\b', /* Backspace */
- '\t', /* Tab */
- 'Q', 'W', 'E', 'R', /* 19 */
- 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', KBD_ENTER_PRESS_ID, /* Enter key */
- KBD_CONTROL_PRESS_ID, /* 29 - Control */
- 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K' ,'L', ':', /* 39 */
- '\"' , '~', KBD_LEFT_SHIFT_PRESS_ID, /* Left shift */
- '|', 'Z', 'X', 'C', 'V', 'B', 'N', /* 49 */
- 'M', '<', '>', '?', KBD_RIGHT_SHIFT_PRESS_ID, /* Right shift */
- '*',
- 0, /* Alt */
- ' ', /* Space bar */
- KBD_CAPS_PRESS_ID, /* Caps lock */
- 0, /* 59 - F1 key ... > */
- 0, 0, 0, 0, 0, 0, 0, 0,
- 0, /* < ... F10 */
- 0, /* 69 - Num lock*/
- 0, /* Scroll Lock */
- 0, /* Home key */
- KBD_UP_KEY_ID, /* Up Arrow */
- 0, /* Page Up */
- '-',
- KBD_LEFT_KEY_ID, /* Left Arrow */
+ '(', ')', '_', '+', '\b', /* Backspace */
+ '\t', /* Tab */
+ 'Q', 'W', 'E', 'R', /* 19 */
+ 'T', 'Y', 'U', 'I', 'O', 'P', '{', '}', KBD_ENTER_PRESS_ID, /* Enter key */
+ KBD_CONTROL_PRESS_ID, /* 29 - Control */
+ 'A', 'S', 'D', 'F', 'G', 'H', 'J', 'K' ,'L', ':', /* 39 */
+ '\"' , '~', KBD_LEFT_SHIFT_PRESS_ID, /* Left shift */
+ '|', 'Z', 'X', 'C', 'V', 'B', 'N', /* 49 */
+ 'M', '<', '>', '?', KBD_RIGHT_SHIFT_PRESS_ID, /* Right shift */
+ '*',
+ 0, /* Alt */
+ ' ', /* Space bar */
+ KBD_CAPS_PRESS_ID, /* Caps lock */
+ 0, /* 59 - F1 key ... > */
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, /* < ... F10 */
+ 0, /* 69 - Num lock*/
+ 0, /* Scroll Lock */
+ 0, /* Home key */
+ KBD_UP_KEY_ID, /* Up Arrow */
+ 0, /* Page Up */
+ '-',
+ KBD_LEFT_KEY_ID, /* Left Arrow */
0,
- KBD_RIGHT_KEY_ID, /* Right Arrow */
- '+',
- 0, /* 79 - End key*/
- KBD_DOWN_KEY_ID, /* Down Arrow */
- 0, /* Page Down */
- 0, /* Insert Key */
- 0, /* Delete Key */
- 0, 0, 0,
- 0, /* F11 Key */
- 0, /* F12 Key */
- 0, /* All other keys are undefined */
+ KBD_RIGHT_KEY_ID, /* Right Arrow */
+ '+',
+ 0, /* 79 - End key*/
+ KBD_DOWN_KEY_ID, /* Down Arrow */
+ 0, /* Page Down */
+ 0, /* Insert Key */
+ 0, /* Delete Key */
+ 0, 0, 0,
+ 0, /* F11 Key */
+ 0, /* F12 Key */
+ 0, /* All other keys are undefined */
};
-
-
-
-
-
-
diff --git a/platform/pc/drv/ps2/kbd/scancodes.c b/platform/pc/drv/ps2/kbd/scancodes.c
index 1d651fd..ec79d50 100644
--- a/platform/pc/drv/ps2/kbd/scancodes.c
+++ b/platform/pc/drv/ps2/kbd/scancodes.c
@@ -15,34 +15,28 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start_
- **/
+ **/
#include
#include
//QWERTY_USA LAYOUT
-struct kbd_layout_t QWERTY_USA =
+struct kbd_layout_t QWERTY_USA =
{
- .scancode_shift = QWERTY_USA_SHIFT_VAL,
- .scancode_no_shift = QWERTY_USA_NOSHIFT_VAL,
- .name = "QWERTY_USA",
- .country = "USA"
+ .scancode_shift = QWERTY_USA_SHIFT_VAL,
+ .scancode_no_shift = QWERTY_USA_NOSHIFT_VAL,
+ .name = "QWERTY_USA",
+ .country = "USA"
};
//All Keyboard Layouts
-struct kbd_layout_t *kbd_layouts[] =
+struct kbd_layout_t *kbd_layouts[] =
{
&QWERTY_USA,
0
};
-
-
-
-
-
-
diff --git a/platform/pc/drv/ps2/kbd/utils.c b/platform/pc/drv/ps2/kbd/utils.c
index 927a7f2..70f1069 100644
--- a/platform/pc/drv/ps2/kbd/utils.c
+++ b/platform/pc/drv/ps2/kbd/utils.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -29,35 +29,35 @@
#include
/*
- * Keyboard Ctrl :
+ * Keyboard Ctrl :
* Read status register
* and read command to ctrl
*/
uint8_t kbd_ctrl_read_status_reg()
{
- return (inb(KBD_CTRL_STATS_REG));
+return (inb(KBD_CTRL_STATS_REG));
}
void kbd_ctrl_send_cmd(uint8_t cmd)
{
- while( (kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_IN_BUF) != 0);
+ while((kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_IN_BUF) != 0);
outb(KBD_CTRL_CMD_REG,cmd);
}
/*
- * Keyboard Encoder :
+ * Keyboard Encoder :
* Read encoder input buffer
* and send command to encoder
*/
uint8_t kbd_enc_read_input_buf()
{
- return (inb(KBD_ENC_INPUT_BUF_REG));
+ return (inb(KBD_ENC_INPUT_BUF_REG));
}
//Send command to encoder
void kbd_enc_send_cmd(uint8_t cmd)
{
- while( (kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_IN_BUF) != 0);
+ while((kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_IN_BUF) != 0);
outb(KBD_ENC_CMD_REG,cmd);
}
@@ -65,30 +65,25 @@ void kbd_enc_send_cmd(uint8_t cmd)
bool bat_test(void)
{
kbd_ctrl_send_cmd(KBD_CTRL_CMD_SELF_TEST);
-
- while( (kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_OUT_BUF) == 0);
-
+
+ while((kbd_ctrl_read_status_reg() & KBD_CTRL_STATS_MASK_OUT_BUF) == 0);
+
return (kbd_enc_read_input_buf () == 0x55) ? true : false;
}
//Set the LED Lights if true
bool led_light(bool scroll, bool num, bool caps)
{
- uint8_t data_final = 0x0;
- if(scroll) data_final |= KBD_SCROLL_LED_ON;
- if(num) data_final |= KBD_NUM_LED_ON;
- if(caps) data_final |= KBD_CAPS_LOCK_ON;
+ uint8_t data_final = 0x0;
+ if(scroll) data_final |= KBD_SCROLL_LED_ON;
+ if(num) data_final |= KBD_NUM_LED_ON;
+ if(caps) data_final |= KBD_CAPS_LOCK_ON;
- kbd_info.led.num_lock = num;
- kbd_info.led.caps_lock = caps;
- kbd_info.led.scroll_lock = scroll;
+ kbd_info.led.num_lock = num;
+ kbd_info.led.caps_lock = caps;
+ kbd_info.led.scroll_lock = scroll;
- kbd_enc_send_cmd(KBD_ENCODER_CMD_SET_LED);
- kbd_enc_send_cmd(data_final);
- return true;
+ kbd_enc_send_cmd(KBD_ENCODER_CMD_SET_LED);
+ kbd_enc_send_cmd(data_final);
+ return true;
}
-
-
-
-
-
diff --git a/platform/pc/drv/video/VGA/textmode/clear.c b/platform/pc/drv/video/VGA/textmode/clear.c
index 214c409..345047d 100644
--- a/platform/pc/drv/video/VGA/textmode/clear.c
+++ b/platform/pc/drv/video/VGA/textmode/clear.c
@@ -15,12 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
-
+ **/
#include
#include
@@ -28,11 +27,10 @@
#include
#include
-
void term_zero()
{
- vga_driver.video_row=0;
- vga_driver.video_column=0;
+ vga_driver.video_row = 0;
+ vga_driver.video_column = 0;
}
/*
@@ -42,28 +40,22 @@ void term_zero()
* mode 80x25 VGA.
*/
-
-void clear_vga_textmode(void)
+void clear_vga_textmode(void)
{
- term_zero();
- for(unsigned i=0; i.
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -29,7 +29,6 @@
#include
#include
-
/*
* @function putch_vga_80_x_25:
* Puts a single character
@@ -42,20 +41,15 @@
void putch_vga_textmode(char c)
{
- const size_t index = (vga_driver.video_row * video_driver_width + vga_driver.video_column);
- uint16_t* VideoMemory = (uint16_t*)0xB8000;
- uint8_t terminal_color = make_color(vga_driver.fg,vga_driver.bg);
-
- VideoMemory[index]= (terminal_color << 8)|c;
- VideoMemory[index+1] = make_vgaentry(' ', terminal_color);
-
- vga_driver.video_column++;
- if(vga_driver.video_column>=video_driver_width) vga_driver.video_row++,vga_driver.video_column=0;
- if(vga_driver.video_row>=video_driver_height) term_scroll_vga_textmode(1);
-}
+ const size_t index = (vga_driver.video_row * video_driver_width + vga_driver.video_column);
+ uint16_t* VideoMemory = (uint16_t*) 0xB8000;
+ uint8_t terminal_color = make_color(vga_driver.fg, vga_driver.bg);
+ VideoMemory[index] = (terminal_color << 8) | c;
+ VideoMemory[index + 1] = make_vgaentry(' ', terminal_color);
-
-
-
-
+ vga_driver.video_column++;
+ if(vga_driver.video_column >= video_driver_width)
+ vga_driver.video_row++, vga_driver.video_column = 0;
+ if(vga_driver.video_row >= video_driver_height) term_scroll_vga_textmode(1);
+}
diff --git a/platform/pc/drv/video/VGA/textmode/term_scroll.c b/platform/pc/drv/video/VGA/textmode/term_scroll.c
index 8a63999..250e3b4 100644
--- a/platform/pc/drv/video/VGA/textmode/term_scroll.c
+++ b/platform/pc/drv/video/VGA/textmode/term_scroll.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -30,24 +30,20 @@
#include
#include
-
-
void term_scroll_vga_textmode(int offset)
{
- uint16_t *screen = (uint16_t*)0xB8000;
- for(unsigned i = 0; i < video_driver_height; i++){
- for (unsigned m = 0; m < video_driver_width; m++){
+ uint16_t *screen = (uint16_t*) 0xB8000;
+ for(unsigned i = 0; i < video_driver_height; i++)
+ {
+ for (unsigned m = 0; m < video_driver_width; m++)
+ {
screen[i * video_driver_width + m] = screen[(i + offset) * video_driver_width + m];
}
}
- vga_driver.video_row -=offset;
- for(unsigned i=0; i.
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -34,23 +34,19 @@ volatile uint8_t __crsr_end = 15;
int update_cursor_textmode(int row, int col, uint8_t crsr_start, uint8_t crsr_end)
{
- uint16_t position = (row*video_driver_width)+col;
-
- outb(CURSOR_REGISTER_SELECT,UPDATE_CURSOR_REGISTER_LOW);
+ uint16_t position = (row * video_driver_width) + col;
+
+ outb(CURSOR_REGISTER_SELECT, UPDATE_CURSOR_REGISTER_LOW);
outb(CURSOR_DATA_SEND, UPDATE_CURSOR_POS_LOW(position));
-
- outb(CURSOR_REGISTER_SELECT,UPDATE_CURSOR_REGISTER_HIGH);
- outb(CURSOR_DATA_SEND,UPDATE_CURSOR_POS_HIGH(position));
- if(col && row){};
+
+ outb(CURSOR_REGISTER_SELECT, UPDATE_CURSOR_REGISTER_HIGH);
+ outb(CURSOR_DATA_SEND, UPDATE_CURSOR_POS_HIGH(position));
+ // if (col && row) {};
outw(CRTC_PORT, (crsr_start << 8) | 0x0A);
outw(CRTC_PORT, (crsr_end << 8) | 0x0B);
-
+
__crsr_start = crsr_start;
__crsr_end = crsr_end;
-
+
return STATUS_OK;
}
-
-
-
-
diff --git a/platform/pc/drv/video/VGA/textmode/utils.c b/platform/pc/drv/video/VGA/textmode/utils.c
index 152cf89..3894821 100644
--- a/platform/pc/drv/video/VGA/textmode/utils.c
+++ b/platform/pc/drv/video/VGA/textmode/utils.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -30,18 +30,12 @@
* to a 8bit integer
* color.
*/
-uint8_t make_color(uint8_t fg, uint8_t bg)
+uint8_t make_color(uint8_t fg, uint8_t bg)
{
return fg | bg << 4;
}
-uint16_t make_vgaentry(char c, uint8_t color)
+uint16_t make_vgaentry(char c, uint8_t color)
{
- return ((uint16_t)c | (uint16_t)color << 8);
-}
-
-
-
-
-
-
+ return ((uint16_t) c | (uint16_t) color << 8);
+}
diff --git a/platform/pc/drv/video/VGA/textmode/vga_textmode.c b/platform/pc/drv/video/VGA/textmode/vga_textmode.c
index 04a5de4..f56bbf3 100644
--- a/platform/pc/drv/video/VGA/textmode/vga_textmode.c
+++ b/platform/pc/drv/video/VGA/textmode/vga_textmode.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -33,32 +33,25 @@
#include
#include
-
-
-
int init_vga_textmode()
{
- __textmode.w = video_driver_width;
- __textmode.h = video_driver_height;
- __textmode.name = video_driver_fullname;
- return STATUS_OK;
+ __textmode.w = video_driver_width;
+ __textmode.h = video_driver_height;
+ __textmode.name = video_driver_fullname;
+ return STATUS_OK;
}
-vga_textmode_t __textmode =
+vga_textmode_t __textmode =
{
- .clear = &clear_vga_textmode,
- .putch = &putch_vga_textmode,
- .update_cursor = &update_cursor_textmode,
- .scroll = &term_scroll_vga_textmode,
- .init = &init_vga_textmode
+ .clear = &clear_vga_textmode,
+ .putch = &putch_vga_textmode,
+ .update_cursor = &update_cursor_textmode,
+ .scroll = &term_scroll_vga_textmode,
+ .init = &init_vga_textmode
};
-vga_textmode_t *vga_textmodes_arr[] =
+vga_textmode_t *vga_textmodes_arr[] =
{
- &__textmode,
- 0
+ &__textmode,
+ 0
};
-
-
-
-
diff --git a/platform/pc/drv/video/VGA/vga.c b/platform/pc/drv/video/VGA/vga.c
index a8e97c3..b69faf8 100644
--- a/platform/pc/drv/video/VGA/vga.c
+++ b/platform/pc/drv/video/VGA/vga.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -30,60 +30,53 @@
#include
#include
-struct video_driver_t vga_driver =
+struct video_driver_t vga_driver =
{
- .init = &init_vga_driver,
- .uninit = &uninit_vga_driver,
- .status = STATUS_DRIVER_OK
+ .init = &init_vga_driver,
+ .uninit = &uninit_vga_driver,
+ .status = STATUS_DRIVER_OK
};
-void set_mode_util(putch_t putch_v, put_pixel_t put_pixel_v, clear_t clear_v, update_cursor_t update_cursor_v, scroll_t scroll_v)
+void set_mode_util(putch_t putch_v, put_pixel_t put_pixel_v, clear_t clear_v,
+ update_cursor_t update_cursor_v, scroll_t scroll_v)
{
- vga_driver.putch = putch_v;
- vga_driver.put_pixel = put_pixel_v;
- vga_driver.clear = clear_v;
- vga_driver.update_cursor = update_cursor_v;
- vga_driver.scroll = scroll_v;
+ vga_driver.putch = putch_v;
+ vga_driver.put_pixel = put_pixel_v;
+ vga_driver.clear = clear_v;
+ vga_driver.update_cursor = update_cursor_v;
+ vga_driver.scroll = scroll_v;
}
int uninit_vga_driver()
{
- video_driver.initalized = false;
- set_mode_util(0,0,0,0,0);
- return STATUS_OK;
+ video_driver.initalized = false;
+ set_mode_util(0, 0, 0, 0, 0);
+ return STATUS_OK;
}
int init_vga_driver()
{
- video_driver.initalized = true;
- vga_driver.res.w = video_driver_width;
- vga_driver.res.h = video_driver_height;
+ video_driver.initalized = true;
+ vga_driver.res.w = video_driver_width;
+ vga_driver.res.h = video_driver_height;
- if(strcmp(video_driver_mode,"TEXTMODE")==0)
- {
+ if(strcmp(video_driver_mode, "TEXTMODE") == 0)
+ {
vga_driver.mode = TEXT_MODE;
- vga_driver.put_pixel=0;
+ vga_driver.put_pixel = 0;
init_vga_textmode();
set_mode_util(
- vga_textmodes_arr[0]->putch,
- 0,
- vga_textmodes_arr[0]->clear,
- vga_textmodes_arr[0]->update_cursor,
- vga_textmodes_arr[0]->scroll
- );
-
+ vga_textmodes_arr[0]->putch,
+ 0,
+ vga_textmodes_arr[0]->clear,
+ vga_textmodes_arr[0]->update_cursor,
+ vga_textmodes_arr[0]->scroll
+ );
+
vga_driver.name = vga_textmodes_arr[0]->name;
vga_driver.fg = 7;
vga_driver.bg = 0;
- }
-
- return STATUS_OK;
-}
-
+ }
-
-
-
-
-
-
+ return STATUS_OK;
+}
diff --git a/platform/pc/drv/video/video.c b/platform/pc/drv/video/video.c
index cd3519c..5818dba 100644
--- a/platform/pc/drv/video/video.c
+++ b/platform/pc/drv/video/video.c
@@ -22,36 +22,28 @@
**/
#include
-#include
-#include
+#include
+#include
#include
-#include
+#include
#include
-#include
-
+#include
+
//Video Driver Handler
struct device_driver_t video_driver =
{
- .name = "Video Driver",
- .version = "STATUS_VERSION_NA"
+ .name = "Video Driver",
+ .version = "STATUS_VERSION_NA"
};
size_t video_driver_width = 80;
size_t video_driver_height = 25;
-char* video_driver_name = "VGA";
-char* video_driver_mode = "TEXTMODE";
-char* video_driver_fullname = "VGA_TEXTMODE_80_x_25";
-
+char* video_driver_name = "VGA";
+char* video_driver_mode = "TEXTMODE";
+char* video_driver_fullname = "VGA_TEXTMODE_80_x_25";
struct video_driver_t *video_drivers[] =
{
- &vga_driver,
- 0
+ &vga_driver,
+ 0
};
-
-
-
-
-
-
-
diff --git a/platform/pc/io/io.c b/platform/pc/io/io.c
index 73b0877..7461a21 100644
--- a/platform/pc/io/io.c
+++ b/platform/pc/io/io.c
@@ -15,23 +15,24 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
-#include
+#include
uint8_t inb(uint16_t port_num)
{
uint8_t result;
- __asm__ __volatile__ (
+ __asm__ __volatile__
+ (
"inb %w[port_num],%b[result]\n\t"
: [result] "=a" (result) // ASM -> Variable
: [port_num] "Nd" (port_num) // VARIABLE -> ASM
);
-
+
return result;
}
@@ -43,12 +44,11 @@ uint16_t inw(uint16_t port_num)
"inw %w[port_num], %w[result]\n\t"
: [result] "=a" (result)
: [port_num] "Nd" (port_num)
- );
-
+ );
+
return result;
}
-
uint32_t ind(uint16_t port_num)
{
uint32_t result;
@@ -57,47 +57,40 @@ uint32_t ind(uint16_t port_num)
"inl %w[port_num], %[result]\n\t"
: [result] "=a" (result)
: [port_num] "Nd" (port_num)
- );
-
+ );
+
return result;
}
-
-
void outb(uint16_t port_num,uint8_t data)
{
- __asm__ __volatile__
+ __asm__ __volatile__
(
"outb %b[data],%w[port_num]\n\t"
:
: [data] "a" (data),
- [port_num] "Nd" (port_num)
+ [port_num] "Nd" (port_num)
);
}
void outw(uint16_t port_num,uint16_t data)
{
- __asm__ __volatile__
+ __asm__ __volatile__
(
"outw %w[data],%w[port_num]\n\t"
:
: [data] "a" (data),
- [port_num] "Nd" (port_num)
+ [port_num] "Nd" (port_num)
);
}
void outd(uint16_t port_num,uint32_t data)
{
- __asm__ __volatile__
+ __asm__ __volatile__
(
"outl %[data],%w[port_num]\n\t"
:
: [data] "a" (data),
- [port_num] "Nd" (port_num)
+ [port_num] "Nd" (port_num)
);
}
-
-
-
-
-
diff --git a/sbin/poweroff/poweroff.c b/sbin/poweroff/poweroff.c
index 2f22f1f..2394288 100644
--- a/sbin/poweroff/poweroff.c
+++ b/sbin/poweroff/poweroff.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -34,53 +34,41 @@
#include
#include
-
-
-struct cmd_opt_t* cmd_poweroff_opts[] =
+struct cmd_opt_t* cmd_poweroff_opts[] =
{
0
};
int cmd_poweroff_handler(char* cmd)
{
- size_t num_opts = get_opt_count(cmd);
- str_t opts[num_opts];
- get_opt(cmd,opts);
-
- if(num_opts == 1)
- root_sys_poweroff();
- else if(strcmp(opts[1].str, "--help")==0)
- printk(cmd_poweroff.help);
- else
+ size_t num_opts = get_opt_count(cmd);
+ str_t opts[num_opts];
+ get_opt(cmd, opts);
+
+ if(num_opts == 1)
+ root_sys_poweroff();
+ else if(strcmp(opts[1].str, "--help") == 0)
+ printk(cmd_poweroff.help);
+ else
printk(cmd_poweroff.invalid_use_msg);
-
- return STATUS_OK;
-}
+ return STATUS_OK;
+}
-struct cmd_t cmd_poweroff =
+struct cmd_t cmd_poweroff =
{
- .name = "poweroff",
- .usage ="poweroff [--help]",
- .help = "poweroff(1) \t\t\t\t BoneOS Terminal Manual \n"
- "NAME : \n "
- "\tpoweroff\n"
- "SYNOPSIS : \n "
- "\tpoweroff [--help]\n"
- "DESCRIPTION : \n "
- "\tShuts down the Operating System. Currently only working in Bochs and Qemu.\n",
- .cmd_opts = cmd_poweroff_opts,
- .handler = &cmd_poweroff_handler,
- .invalid_use_msg = "Invalid use of poweroff command.\n"
- "Type in poweroff --help for more help.\n",
- .privilege = ROOT
+ .name = "poweroff",
+ .usage ="poweroff [--help]",
+ .help = "poweroff(1) \t\t\t\t BoneOS Terminal Manual \n"
+ "NAME : \n "
+ "\tpoweroff\n"
+ "SYNOPSIS : \n "
+ "\tpoweroff [--help]\n"
+ "DESCRIPTION : \n "
+ "\tShuts down the Operating System. Currently only working in Bochs and Qemu.\n",
+ .cmd_opts = cmd_poweroff_opts,
+ .handler = &cmd_poweroff_handler,
+ .invalid_use_msg = "Invalid use of poweroff command.\n"
+ "Type in poweroff --help for more help.\n",
+ .privilege = ROOT
};
-
-
-
-
-
-
-
-
-
diff --git a/sbin/reboot/reboot.c b/sbin/reboot/reboot.c
index 66c04de..f4d68f1 100644
--- a/sbin/reboot/reboot.c
+++ b/sbin/reboot/reboot.c
@@ -15,11 +15,11 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
+ **/
#include
#include
@@ -32,52 +32,41 @@
#include
#include
-
-
-struct cmd_opt_t* cmd_reboot_opts[] =
+struct cmd_opt_t* cmd_reboot_opts[] =
{
0
};
int cmd_reboot_handler(char* cmd)
{
- size_t num_opts = get_opt_count(cmd);
- str_t opts[num_opts];
- get_opt(cmd,opts);
-
- if(num_opts == 1)
- root_sys_reboot();
- else if(strcmp(opts[1].str,"--help")==0)
- printk(cmd_reboot.help);
- else
- printk(cmd_reboot.invalid_use_msg);
- return STATUS_OK;
+ size_t num_opts = get_opt_count(cmd);
+ str_t opts[num_opts];
+ get_opt(cmd, opts);
+
+ if(num_opts == 1)
+ root_sys_reboot();
+ else if(strcmp(opts[1].str, "--help") == 0)
+ printk(cmd_reboot.help);
+ else
+ printk(cmd_reboot.invalid_use_msg);
+
+ return STATUS_OK;
}
-
-struct cmd_t cmd_reboot =
+struct cmd_t cmd_reboot =
{
- .name = "reboot",
- .usage ="reboot [--help]",
- .help = "reboot(1) \t\t\t\t BoneOS Terminal Manual \n"
- "NAME : \n "
- "\treboot\n"
- "SYNOPSIS : \n "
- "\treboot [--help]\n "
- "DESCRIPTION : \n "
- "\tReboots the Operating System.\n",
- .cmd_opts = cmd_reboot_opts,
- .handler = &cmd_reboot_handler,
- .invalid_use_msg = "Invalid use of reboot command.\n"
- "Type in reboot --help for more help.\n",
- .privilege = ROOT
+ .name = "reboot",
+ .usage ="reboot [--help]",
+ .help = "reboot(1) \t\t\t\t BoneOS Terminal Manual \n"
+ "NAME : \n "
+ "\treboot\n"
+ "SYNOPSIS : \n "
+ "\treboot [--help]\n "
+ "DESCRIPTION : \n "
+ "\tReboots the Operating System.\n",
+ .cmd_opts = cmd_reboot_opts,
+ .handler = &cmd_reboot_handler,
+ .invalid_use_msg = "Invalid use of reboot command.\n"
+ "Type in reboot --help for more help.\n",
+ .privilege = ROOT
};
-
-
-
-
-
-
-
-
-
diff --git a/var/Makefile b/var/Makefile
index 176934d..965572a 100644
--- a/var/Makefile
+++ b/var/Makefile
@@ -2,8 +2,6 @@ BUILDROOT ?= ../
CSRCS = \
cpu/cpu_info.c
-
-
LIBNAME := var
diff --git a/var/cpu/cpu_info.c b/var/cpu/cpu_info.c
index a5f69f2..ea1afe6 100644
--- a/var/cpu/cpu_info.c
+++ b/var/cpu/cpu_info.c
@@ -15,18 +15,18 @@
** along with BoneOS. If not, see .
**
** @main_author : Amanuel Bogale
- **
+ **
** @contributors:
** Amanuel Bogale : start
- **/
-
+ **/
+
#include
#include
-#include
+#include
#include
#include
-
+
cpu_info_t cpu_info;
static const char* vendor_id_strings[] = {
@@ -73,15 +73,14 @@ static const char* vendor_company_strings[] = {
"Parrelels"
};
-
static inline void find_comp(char* ID)
{
- for(int i=0; vendor_id_strings[i]; i++)
+ for(int i = 0; vendor_id_strings[i]; i++)
{
- if(strcmp(ID,vendor_id_strings[i])==0)
+ if(strcmp(ID,vendor_id_strings[i]) == 0)
{
- cpu_info.companyName = (char*)vendor_company_strings[i];
- return;
+ cpu_info.companyName = (char*) vendor_company_strings[i];
+ return;
}
}
cpu_info.companyName = "Unknown";
@@ -89,9 +88,9 @@ static inline void find_comp(char* ID)
static void signature_proccessing(uint32_t sig)
{
- if(strcmp(cpu_info.companyName, "Intel")==0)
+ if(strcmp(cpu_info.companyName, "Intel") == 0)
{
- int bit_twelve = (sig >> 12) & 1;
+ int bit_twelve = (sig >> 12) & 1;
int bit_thirteen = (sig >> 13) & 1;
if(bit_twelve == 0 && bit_thirteen == 0)
cpu_info.proccecor_type = "Original OEM Proccecor";
@@ -108,27 +107,23 @@ static void signature_proccessing(uint32_t sig)
int init_cpu_info()
{
- cpu_info.vendorID =(char*) cpu_id.vendorID;
+ cpu_info.vendorID = (char*) cpu_id.vendorID;
cpu_info.ecx_features = cpu_id.features_ecx;
cpu_info.edx_features = cpu_id.features_edx;
cpu_info.signature = cpu_id.signature;
find_comp(cpu_info.vendorID);
signature_proccessing(cpu_info.signature);
-
return STATUS_OK;
}
-
-
-
void __debug_print_cpu_info()
{
#ifdef DEBUG
- printk("CPU\n");
- printk("---\n");
- printk("COMPANY : %s\n", cpu_info.companyName);
- printk("VENDOR_ID : %s\n", cpu_info.vendorID);
- printk("PROCCECOR TYPE : %s\n", cpu_info.proccecor_type);
- #endif
-}
\ No newline at end of file
+ printk("CPU\n");
+ printk("---\n");
+ printk("COMPANY : %s\n", cpu_info.companyName);
+ printk("VENDOR_ID : %s\n", cpu_info.vendorID);
+ printk("PROCCECOR TYPE : %s\n", cpu_info.proccecor_type);
+ #endif
+}