diff options
| author | Franklin Wei <frankhwei536@gmail.com> | 2015-02-11 17:13:26 -0500 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2015-02-11 17:13:26 -0500 |
| commit | e3305e8f7c119c83fd04f1995e07ff71a1110887 (patch) | |
| tree | f95921215c215a60d80b1be068b2cccd72459ee2 /kernel/main.c | |
| parent | 90fda5287e3dae56508a4b31e1bc4e29cd83e377 (diff) | |
| download | kappa-e3305e8f7c119c83fd04f1995e07ff71a1110887.zip kappa-e3305e8f7c119c83fd04f1995e07ff71a1110887.tar.gz kappa-e3305e8f7c119c83fd04f1995e07ff71a1110887.tar.bz2 kappa-e3305e8f7c119c83fd04f1995e07ff71a1110887.tar.xz | |
optimize interrupt performance
Diffstat (limited to 'kernel/main.c')
| -rw-r--r-- | kernel/main.c | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/kernel/main.c b/kernel/main.c index 2ec6c46..fc62a10 100644 --- a/kernel/main.c +++ b/kernel/main.c @@ -17,12 +17,12 @@ #include "timer.h" #include "tty.h" -void gpf(struct regs_t regs) +void gpf(struct regs_t *regs) { gfx_reset(); printf("General protection fault!\n"); - printf("EIP before fault: 0x%x\n", regs.eip); - printf("Error code: 0x%x\n", regs.err_code); + printf("EIP before fault: 0x%x\n", regs->eip); + printf("Error code: 0x%x\n", regs->err_code); panic("GPF!"); } @@ -74,7 +74,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) const int width = *gfx_width; const int height = *gfx_height; - gfx_clear(); + gfx_reset(); int startpix = *current_tick; for(int i=0;i<1000000;++i) @@ -87,7 +87,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endpix = *current_tick; - gfx_clear(); + gfx_reset(); int startfill = *current_tick; for(int i=0;i<1000;++i) @@ -97,7 +97,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endfill = *current_tick; - gfx_clear(); + gfx_reset(); int starttext = *current_tick; for(int i=0;i<1000000;++i) @@ -109,7 +109,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endtext = *current_tick; - gfx_clear(); + gfx_reset(); int starthline = *current_tick; for(int i=0;i<1000000;++i) @@ -119,7 +119,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endhline = *current_tick; - gfx_clear(); + gfx_reset(); int startvline = *current_tick; for(int i=0;i<1000000;++i) @@ -129,7 +129,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endvline = *current_tick; - gfx_clear(); + gfx_reset(); int startrect = *current_tick; for(int i=0;i<10000;++i) @@ -143,7 +143,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) } int endrect = *current_tick; - gfx_clear(); + gfx_reset(); int startline = *current_tick; for(int i=0;i<1000000;++i) @@ -158,6 +158,7 @@ void main(struct multiboot_info_t *hdr, uint32_t magic) int endline = *current_tick; gfx_reset(); + printf("--- Graphics benchmark results ---\n"); printf("Ticks for 1,000,000 random pixels: %d\n", endpix-startpix); printf("Ticks for 1,000 random fills: %d\n", endfill-startfill); |