geekos-devel Mailing List for GeekOS
Status: Pre-Alpha
Brought to you by:
daveho
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(8) |
Dec
(2) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(13) |
Feb
(11) |
Mar
(11) |
Apr
|
May
(2) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(4) |
Oct
(3) |
Nov
|
Dec
(2) |
2003 |
Jan
|
Feb
(10) |
Mar
(1) |
Apr
(8) |
May
(8) |
Jun
(4) |
Jul
(7) |
Aug
(6) |
Sep
(9) |
Oct
(10) |
Nov
(4) |
Dec
(7) |
2004 |
Jan
(9) |
Feb
(8) |
Mar
(12) |
Apr
(30) |
May
(45) |
Jun
(38) |
Jul
(31) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
(1) |
Mar
(2) |
Apr
(2) |
May
|
Jun
(4) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
(3) |
Dec
(1) |
2007 |
Jan
(1) |
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
(2) |
Apr
(4) |
May
|
Jun
(1) |
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: George P. <gx...@gm...> - 2009-03-21 07:46:26
|
Hi all, does someone have an img with pre-compiled version of project0 for * VirtualBox*? If I use fd.img, it give me an error: Failed assertion in Add_Page_Range: start < end at ../src/geekos/mem.c, line 65, RA =12658, thread =0x00000000 I am a Windows XP user. I will not use bochs(since it give me an error there too!). So, have someone an image for *VirtualBox*? Thanks. > |
From: <wm...@ao...> - 2008-08-24 07:59:37
|
Don't know where to start with adding semaphores. Where do I put them? In the kernel struct? In the user context struct? Is this what tlocalData is for? I don't see a struct for semaphores. I guess I create my own and put it in the kernel or user context. Not sure what to do. Thanks. Jim |
From: <wm...@ao...> - 2008-08-02 13:16:22
|
Never mind. I understand that the interrupt info is put there by the function itself in the same format as the hardware interrupt. |
From: <wm...@ao...> - 2008-08-02 09:37:48
|
This is from lowlevel.asm at Switch_To_Thread: .. ??? ; Load the pointer to the new thread context into eax. ??? ; We skip over the Interrupt_State struct on the stack to ??? ; get the parameter. ??? mov??? eax, [esp+INTERRUPT_STATE_SIZE] .. Why do we have to skip over the Interrupt_State struct on the stack? Switch_To_Thread seems only to be called for new threads. I don't see any place where the interrupt occurs to put info on the stack.? Am I missing something here? |
From: <wm...@ao...> - 2008-06-18 17:06:31
|
In this function: void Switch_To_User_Context(struct Kernel_Thread* kthread, struct Interrupt_State* state) { ??? /* ???? * Hint: Before executing in user mode, you will need to call ???? * the Set_Kernel_Stack_Pointer() and Switch_To_Address_Space() ???? * functions. ???? */ ??? TODO("Switch to a new user address space, if necessary"); } the kernel stack pointer should be set to the top of the stack as follows: Set_Kernel_Stack_Pointer(((ulong_t) kthread->stackPage) + PAGE_SIZE)); I first saw this done here: http://www.cs.iitm.ernet.in/~cs313/projects/index.html It did not make sense to me because I was worrried about the process stack being corrupted. Then it hit home that there are 2 stacks. Each user process has one stack for use by the kernel on behalf of the process and one mapped into the data segment of the process for use by the code contained in the exe. |
From: David H. <dav...@gm...> - 2008-04-17 11:58:12
|
Set the kernel stack pointer, meaning the value that should be loaded in the ESP register upon return to ring 0 (kernel mode) after executing in ring 3 (user mode). -Dave On Thu, Apr 17, 2008 at 1:42 AM, <wm...@ao...> wrote: > In project 2, user.c, the following function comments say to set the kernel > stack pointer. To what? I am confused here. Any help would be appreciated. > > > void Switch_To_User_Context(struct Kernel_Thread* kt, struct > Interrupt_State* is) > { > /* > * Hint: Before executing in user mode, you will need to call > * the Set_Kernel_Stack_Pointer() and Switch_To_Address_Space() > * functions. > */ > > ... > > Set_Kernel_Stack_Pointer((ulong_t) ?); > > > ... > } > > ________________________________ > Get the MapQuest Toolbar, Maps, Traffic, Directions & More! > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Geekos-devel mailing list > Gee...@li... > https://lists.sourceforge.net/lists/listinfo/geekos-devel > > |
From: <wm...@ao...> - 2008-04-17 05:42:57
|
In project 2, user.c, the following function comments say to set the kernel stack pointer.? To what?? I am confused here. Any help would be appreciated. void Switch_To_User_Context(struct Kernel_Thread* kt, struct Interrupt_State* is) { ??? /* ???? * Hint: Before executing in user mode, you will need to call ???? * the Set_Kernel_Stack_Pointer() and Switch_To_Address_Space() ???? * functions. ???? */ ? ??? ... ??? ??? Set_Kernel_Stack_Pointer((ulong_t) ?); ??? ... } |
From: David H. <dav...@gm...> - 2008-04-03 11:16:35
|
Are there any messages in bochs.out? Also: in theory, you can attach a gdb session to bochs in order to debug the code running within bochs. (I know I've done this in the past, and found it fairly useful.) -Dave On Wed, Apr 2, 2008 at 8:44 PM, Juan Pablo Garcia <48...@gm...> wrote: > Now, I'm stranded with such a weird problem... Finally, I got to > compile project 0. This compilation generated the famous fd.img file. > But then, I found out, Bochs doesn't run anything at all! > > I've used 2.3.6 (changes to config file required) and 2.2.6 (less > changes) as a page I found suggested, to no avail. > All those versions return a happy black screen with no activity at all. > I'm worried I'm doing something bad or silly. > I'll start to downgrade Bochs until I get to 2.0, to see if my > problems are solved. > > For now, I'm stranded into this, and the final dateline to show up > some progress on this project it's coming really fast. > Any solutions on this affair are welcome. > > Thanks everyone! > > Juan Pablo Garcia > Universidad Tecnologica de Pereira > UTP O.S.Lab Project > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace > _______________________________________________ > Geekos-devel mailing list > Gee...@li... > https://lists.sourceforge.net/lists/listinfo/geekos-devel > |
From: Juan P. G. <48...@gm...> - 2008-04-03 00:44:28
|
OK, OK... Finally, I got a break from my papers and exams and got back to trying to run GeekOS on. First of all, thanks everyone for your polite and prompt responses, they have proven to be very helpful. Now, I'm stranded with such a weird problem... Finally, I got to compile project 0. This compilation generated the famous fd.img file. But then, I found out, Bochs doesn't run anything at all! I've used 2.3.6 (changes to config file required) and 2.2.6 (less changes) as a page I found suggested, to no avail. All those versions return a happy black screen with no activity at all. I'm worried I'm doing something bad or silly. I'll start to downgrade Bochs until I get to 2.0, to see if my problems are solved. For now, I'm stranded into this, and the final dateline to show up some progress on this project it's coming really fast. Any solutions on this affair are welcome. Thanks everyone! Juan Pablo Garcia Universidad Tecnologica de Pereira UTP O.S.Lab Project |
From: K. Ø. <ken...@gm...> - 2008-03-27 16:26:44
|
Holá, On Thu, Mar 27, 2008 at 3:18 PM, Juan Pablo Garcia <48...@gm...> wrote: > > $ startProject project0 /home/userdungeon/geekos-0.3.0/src > <comment> I had to figure which was the last parameter as the > documentation doesn't mentions it, and yes, I have set the environment > variable GEEKOS_HOME. > $ cd project0/build > $ make depend > <comment> No need to document this process. It runs fine actually! > $ make > <comment> Runs perfectly, until... > cc1: warnings being treated as errors > In file included from ../src/geekos/gdt.c:11: > ../include/geekos/segment.h:43: warning: 'packed' attribute ignored > for field of type 'uchar_t' > make: *** [geekos/gdt.o] Error 1 > > And that's all. I found a possible solution reading this: > http://www.fsl.cs.sunysb.edu/pipermail/lugsb/2008-February.txt , > removing PACKED actually works, actually, it compiles without > problems. Not that it solves the actual problem, but it might be safer to comment out the -Werror flag, instead of actual code. That way the code continues with a warning instead of elevating it to an error. I also had to add the -fno-stack-protector to CC_GENERAL_OPTS to make it work on my ubuntu box. -- Kenneth Østby <ken...@gm...> http://langly.org |
From: Juan P. G. <48...@gm...> - 2008-03-27 14:18:13
|
Hello list, My name is Juan Garcia, a new user of GeekOS. Thanks for creating such interesting operative system learning environment. We are planning to use it in Operative Systems classes on our University (Universidad Tecnologica de Pereira, in Pereira, Colombia). As an assistant to the professor, I got the job of testing the projects, GeekOS and figuring a way for teaching the course using the lab you developed. I'm deeply sorry if I didn't saw this question I'm posting in the later list archives, but as the archives are kind of filled with spam, I didn't found it. However, while compiling the project0, and after doing all the right steps (found in the Hacking GeekOS document): $ startProject project0 /home/userdungeon/geekos-0.3.0/src <comment> I had to figure which was the last parameter as the documentation doesn't mentions it, and yes, I have set the environment variable GEEKOS_HOME. $ cd project0/build $ make depend <comment> No need to document this process. It runs fine actually! $ make <comment> Runs perfectly, until... cc1: warnings being treated as errors In file included from ../src/geekos/gdt.c:11: ../include/geekos/segment.h:43: warning: 'packed' attribute ignored for field of type 'uchar_t' make: *** [geekos/gdt.o] Error 1 And that's all. I found a possible solution reading this: http://www.fsl.cs.sunysb.edu/pipermail/lugsb/2008-February.txt , removing PACKED actually works, actually, it compiles without problems. However, I'm worried that maybe it's a mistake to remove that, as any unexpected casting would probe be problematic. Can anyone give me some pointers on this issue? FYI, I'm using gcc version 4.1.2.20061115 (prerelease) on Debian 4.1.1-21, nasm 0.98.38 20050517, gawk 3.1.5, perl 5.8.8, binutils 2.17-3, gmake 3.81, grep 2.5.1 and diff 2.8.1. I'm worried that something went wonky in my toolchain. As I'm speaking, I'm also testing this in Windows (as some students really aren't willing to migrate to Linux for this assignment). I will post any insights on this affair. If this OS Laboratory project takes off, I'll be willing to contribute translating all source code comments and most of the documentation to spanish, and releasing publicly any slides and handouts we create for the assignment. Thanks in advance for your help, and thanks for making GeekOS, it's such a nice opportunity to get to learn OS from the roots. Juan Garcia Assistant E.C.S. Student |
From: SirSydom <co...@si...> - 2007-02-12 14:56:01
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: RIPEMD160 Hallo Ivan, I wrote you to your email address but maybe you never recieved this mail or I'm just to impatient ;) As I wrote, it would be very kind of you if you could send me your and your students' solutions. Kind Regards Dominik Ivan Deras schrieb: > AFAIK there's no reference implementation. I used GeekOS in the past > for teaching purposes and I have think I still have the implementation > done by my students and me, but I have to find it. If you want it let > me know. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (MingW32) iD8DBQFF0H/jx2eYk4kWyzcRAyAiAJ9cHoSI6oUMAITJkNHt5ih533H8dwCdGAk9 6szJJdE97Wu0ad1JWPRx8Hc= =aiWB -----END PGP SIGNATURE----- |
From: Damian N. <dna...@dc...> - 2007-02-09 20:12:43
|
Hi, I'm a student at the Rio Cuarto University (Cordoba - Argentina). I recently (and happily) finished the first 5 projects (I took a semester course). I strongly recommend that you try first to do the projects, because otherwise you wont be able to explain how certain things works. However the first two projects are extremely simple. However there are points were you get stuck if you don't have nobody to guide you. But dont worry, I can give you support when you reach these points. Anything you need, please let me know. Cheers, damian. On 2/8/07, SirSydom <co...@si...> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hallo, > > I'm evaluating the use of geekos for educational use at the University > of Applied Sciences Regensburg for a Oerating System Lecture for Prof. > Markus Kucera. > > First I want to say that geekos seems to be quiet good and I was > suprised how fast and easy we get it to work. > > But unfortunately we only have a limited amount of time and I want to > you to ask if there are any refernce implementations for the projects? > > Thanks! > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.6 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iD8DBQFFyuU4x2eYk4kWyzcRAvwcAJ90RDA9swXmZ6asvPZ21ezyquynfwCg7N5+ > PhQ2/HUx1OBRM98FLD00XkE= > =5VKE > -----END PGP SIGNATURE----- > > ------------------------------------------------------------------------- > Using Tomcat but need to do more? Need to support web services, security? > Get stuff done quickly with pre-integrated technology to make your job easier. > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 > _______________________________________________ > Geekos-devel mailing list > Gee...@li... > https://lists.sourceforge.net/lists/listinfo/geekos-devel > |
From: Ignacio <na...@fi...> - 2007-02-09 02:07:17
|
hi, why using align x (align 8, align 16, etc) into the lowlevel.asm? |
From: SirSydom <co...@si...> - 2007-02-08 08:54:33
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, I'm evaluating the use of geekos for educational use at the University of Applied Sciences Regensburg for a Oerating System Lecture for Prof. Markus Kucera. First I want to say that geekos seems to be quiet good and I was suprised how fast and easy we get it to work. But unfortunately we only have a limited amount of time and I want to you to ask if there are any refernce implementations for the projects? Thanks! -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFyuU4x2eYk4kWyzcRAvwcAJ90RDA9swXmZ6asvPZ21ezyquynfwCg7N5+ PhQ2/HUx1OBRM98FLD00XkE= =5VKE -----END PGP SIGNATURE----- |
From: damian <dam...@gm...> - 2007-01-11 15:40:18
|
Hello, I'm working in project3. It's already working, the standard test works just fine.... but... I got some problems when I generate keyboard interrupts while several processes are running. I reviewed all my work searching for race conditions, and I could not find anything wrong. So I reviewed the rest of the code and I came with the following question: shouldn't functions Malloc and Free be called with interrupts disabled. I guess so because shared data structures are modified by them. But I'm not so sure, so any help will be welcomed. Regards, damian, |
From: damian <dam...@gm...> - 2006-12-16 18:32:12
|
I'm working on geekos at the University of Rio Cuarto, Argentina. I guess soon I'll be writing to the list to ask a couple of questions. Regards, damian. |
From: J K <art...@gm...> - 2006-11-22 02:24:40
|
> > I have believe a better fix for this would be sensing the version of GCC, > and including the switch if the version is high enough - I believe all the > stack protector stuff started being available with GCC 4. I'll probably > work on a script tonight. > After more research and thought, I am thinking a note in the documentation rather than a patch is more appropriate - it looks like the stack protector is enabled by default in Ubuntu Edgy, as well as a few other distributions, however, it appears to have not been integrated into the standard GCC build. I think a documentation note to add an environment variable that the Makefile is aware of might be the best solutions - I'm a little hesitant to use CFLAGS, as folks might have something else in there. Perhaps GEEKOS_CFLAGS. |
From: J K <art...@gm...> - 2006-11-21 18:56:56
|
> > I'm trying to compile the project0 as shown below, but the linker fails > with > this message: > > ld -o geekos/kernel.exe -Ttext 0x00010000 -e Main \ > geekos/idt.o geekos/int.o geekos/trap.o geekos/irq.o > geekos/io.o geekos/keyboard.o geekos/screen.o geekos/timer.o geekos/mem.o > geekos/crc32.o geekos/gdt.o geekos/tss.o geekos/segment.o geekos/bget.o > geekos/malloc.o geekos/synch.o geekos/kthread.o geekos/main.o > geekos/lowlevel.o common/fmtout.o common/string.o common/memmove.o > common/fmtout.o: In function `Format_Output': > fmtout.c:(.text+0x896): undefined reference to `__stack_chk_fail' > make: *** [geekos/kernel.exe] Error 1 > > I'm currently running Ubuntu Edgy with NASM version 0.98.38, GNU ld > version > 2.17 and gcc version 4.1.2 20060928 and not to mention version 0.3 of > GeekOS. I can't find a reference to the function anywhere in the project0 > code, nor when I egrep through all the project directories. Any clues? I just successfully compiled GeekOS on Edgy i386 with GCC 4.1. I accomplished this by changing line 149 in the Makefile like so: old: CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror new: CC_GENERAL_OPTS := $(GENERAL_OPTS) -Werror -fno-stack-protector >From a vanilla Edgy i386 install, I also had to load: nasm bochs bochs-x build-essential I have believe a better fix for this would be sensing the version of GCC, and including the switch if the version is high enough - I believe all the stack protector stuff started being available with GCC 4. I'll probably work on a script tonight. |
From: <ken...@gm...> - 2006-11-18 19:57:18
|
Hi. I'm trying to compile the project0 as shown below, but the linker fails with this message: ld -o geekos/kernel.exe -Ttext 0x00010000 -e Main \ geekos/idt.o geekos/int.o geekos/trap.o geekos/irq.o geekos/io.o geekos/keyboard.o geekos/screen.o geekos/timer.o geekos/mem.o geekos/crc32.o geekos/gdt.o geekos/tss.o geekos/segment.o geekos/bget.o geekos/malloc.o geekos/synch.o geekos/kthread.o geekos/main.o geekos/lowlevel.o common/fmtout.o common/string.o common/memmove.o common/fmtout.o: In function `Format_Output': fmtout.c:(.text+0x896): undefined reference to `__stack_chk_fail' make: *** [geekos/kernel.exe] Error 1 I'm currently running Ubuntu Edgy with NASM version 0.98.38, GNU ld version 2.17 and gcc version 4.1.2 20060928 and not to mention version 0.3 of GeekOS. I can't find a reference to the function anywhere in the project0 code, nor when I egrep through all the project directories. Any clues? In advance thanks, Kenneth |
From: <yen...@gm...> - 2006-08-05 14:52:22
|
I find a helpful document for GeekOS: http://homepage.cs.uri.edu/staff/thenry/csc412/lectures/csc412OpSysDevGuide.pdf Best Regards. --cyt |
From: <yen...@gm...> - 2006-08-05 14:03:35
|
darcs whatsnew { hunk ./build/.bochsrc 10 -diskc: file=diskc.img, cyl=40, heads=8, spt=64 +ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14 +ata0-master: type=disk, path=diskc.img, mode=flat, cylinders=40, heads=8, spt=64, translation=none binary ./build/fd.img hunk ./src/geekos/floppy.c 226 - struct Floppy_Parameters *params = drive->params; + struct Floppy_Parameters *params; } First hunk for the boot fail in bochs 2.2.6-2: >>PANIC<< .bochsrc: directive 'diskc' not understood Second for the compiler error of the uninitialized variable drive. Best Regards. --cyt |
From: <yen...@gm...> - 2006-08-04 14:38:20
|
To setup the environment for project0 in Debian Linux, two things have to be done: 1. At least install these two packages: bochs and bochs-x 2. Modify the build/.bochsrc, comment the line: #newharddrivesupport: enabled=1 ( Due the the run time error from bochs 2.2.6-2: >>PANIC<< .bochsrc: directive 'newharddrivesupport' not understood) Hope this helps. Best Regards. --cyt |
From: Ivan de J. D. <iva...@ya...> - 2006-06-06 18:44:56
|
Hi, I used GeekOS as educational OS in a Operating System Class, in summary is a very good expirience for the students to do some low level coding, the only drawback I found is the lack of documentation. Recently I thought Operating Systems again and this time I tried with another Educational OS called PintOS, the good about PintOS is that is very well documented. --- ch...@se... escribió: > I just discovered GeekOS and am very excited about > tinkering with it and learning OS theory with it. > > Anyone else doing the same thing!? > > I'd love to hear from you. Maybe we can help each > other. > > Chris > > > _______________________________________________ > Geekos-devel mailing list > Gee...@li... > https://lists.sourceforge.net/lists/listinfo/geekos-devel > __________________________________________________ Correo Yahoo! Espacio para todos tus mensajes, antivirus y antispam ¡gratis! Regístrate ya - http://correo.yahoo.es |
From: <ch...@se...> - 2006-06-06 06:23:38
|
I just discovered GeekOS and am very excited about tinkering with it and learning OS theory with it. Anyone else doing the same thing!? I'd love to hear from you. Maybe we can help each other. Chris |