Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

Git Log


Commit Date  
[bc62c7] by Jody Bruchon Jody Bruchon

PREVIOUS OPERATION AND BUGS

1. File "arch/i86/drivers/char/bell.c" rings the bell on PC compatible
machines. Function sound(), written mostly in assembler, programs the
hardware to produce the audio output at frequency from parameter
"freq". It creates a stack frame and accesses the parameter with
offset 4. However, by then, the compiler already created its own stack
frame and the parameter is no longer at offset 4. The previous
implementation takes as "freq" the return address of the function.

2. In console output drivers, expansion of '\n' to the sequence '\r',
'\n' was done at several places (i.e. the tty layer, when writing to
video memory, at printk, etc.) resulting in the processing of several
'\r' codes every time.

3. In file "arch/i86/drivers/char/dircon.c", some functions move the
cursor on every write to video memory. It is more efficient to move
the cursor only at the end of a group of writes.

4. In function "arch/i86/kernel/bios16.c", parameters to bios calls
are passed in cpu registers, including the register DS. To recover the
DS register after the bios call, its contents are saved in the
variable "our_ds" placed in the code segment. But this is precisely
the purpose of variable "stashed_ds" used in the interrupt code.

NEW OPERATION

1. In bell.c, does not create another stack frame. Uses the offset for
parameter "freq" as calculated by the compiler.

2. Removed the expansion of newlines except at the tty layer and the
"con_charout()" function (because this last function bypasses the tty
layer). Made this correction to console devices: direct-console,
bios-console and sibo-console.

3. In file "arch/i86/drivers/char/dircon.c", the cursor is moved only
when necessary.

4. In file "arch/i86/drivers/char/ntty.c", functions "determine_tty()"
and "tty_write()" were rewritten to make them faster and smaller.

5. Variable "our_ds" was removed and "stashed_ds" used in its place.
There is no need to save the contents of DS before the bios call, only
to recover the kernel data segment from "stashed_ds". With this
change, variable "stashed_ds" is now the only and absolutely necessary
variable placed in the code segment, from the ~9 existing seven months
ago.

OTHER CHANGES

Code size reduced by 80 bytes.

Signed-off-by: Juan Perez-Sanchez <lithoxs@gmail.com>
Committed-by: Jody Lee Bruchon <jody@jodybruchon.com>

2012-08-11 15:17:12 Tree
[bf1dd0] by Jody Bruchon Jody Bruchon

PREVIOUS OPERATION AND BUGS

1. Function "kernel/sched.c/run_timer_list()" should run through the
timer list removing structures whose timeout expired and issuing their
callbacks. This process ends prematurely because after removing the
first structure, the link to the next structure in the list is taken
from the removed timer, which by then is NULL.

2. Function "kernel/sched.c/run_timer_list()" is called on every
invocation to schedule(), but it's necessary to run it only when
variable jiffies is incremented.

3. In function "kernel/sched.c/schedule()", when looking for the next
task to run, checks for the next task not to be the idle task and
variable nr_running > 0. But it's only necessary to check for the idle
task.

4. If schedule() is called within an interrupt handler, task swapping
is skipped. By the moment when the skip is taken, it already allocated
a timer structure in the stack and might have it queued in the timer
list, and these actions are not reversed, corrupting the timer list.

NEW OPERATION

1. Function "run_timer_list()" was completely rewritten, avoiding its
original bug, exploiting the fact that the timers to be removed are
always at the beginning of the list, resulting in a more compact
implementation.

2. Function "run_timer_list()" is called only at the end of
"do_timer()" function.

3. Function "add_timer()" was completely rewritten, resulting in a
more compact implementation.

4. Checking if running within an interrupt handler and skipping task
switching is done before allocating a timer structure in the stack.
Removed unnecessary check of nr_running.

OTHER CHANGES

1. A small optimization to reduce code size was done in file irqtab.c.

There is a reduction in code size of 80 bytes.

Signed-off-by: Juan Perez-Sanchez <lithoxs@gmail.com>
Committed-by: Jody Lee Bruchon <jody@jodybruchon.com>

2012-08-11 15:15:02 Tree
[2d791f] by Jody Bruchon Jody Bruchon

A file was not being tracked by Git, so this commit fixes it.

2012-07-07 17:36:53 Tree
[6d1d1c] by Jody Bruchon Jody Bruchon

Large set of bug fix patches by Juan Perez-Sanchez.

2012-07-07 17:33:56 Tree
[d03537] by Jody Bruchon Jody Bruchon

Added BusyELKS to the repository. BusyELKS is an attempt to save
space by generating a series of BusyBox-like binaries with symbolic
links to replace stand-alone binaries. BusyELKS was generated by
combining most of the "elkscmd" program files together into one
set, eliminating redundant chunks of code from where each program
was split off from a larger code base (i.e. sash was used to provide
various utilities and code was duplicated to make this happen), and
writing a build script and some "glue" code to handle the detection
of what command is being requested.

BusyELKS has not been tested, though it compiles as-is and seems to
function under elksemu on Linux-i386, currently the /sbin/init
process is known to not work properly. Attempts to trace the reason
for the failure point to a possible bug in the ELKS kernel, but
if init is left as a standalone program, the rest of BusyELKS very
well may work out-of-the-box.

The space savings from combining separate programs into one binary
is quite significant; in fact, BusyELKS and the ELKS kernel combined
can likely fit on one 360K floppy.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-05-10 23:05:49 Tree
[0d1d7f] by Jody Bruchon Jody Bruchon

Additional patches for ANSI C compatibility and portability from
Juan Perez-Sanchez.

2012-05-10 22:54:10 Tree
[b1f71b] by Jody Bruchon Jody Bruchon

ANSI C compatibility fixes by Juan Perez-Sanchez.

Signed-off-by: Juan Perez-Sanchez <lithoxs@gmail.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-05-08 12:17:49 Tree
[0dd8b5] by Jody Bruchon Jody Bruchon

Applied a patch by Juan-Perez Sanchez which was accidentally not
committed.

2012-05-07 23:08:40 Tree
[d0ffe8] by Jody Bruchon Jody Bruchon

Patch from nanox reverted a more recent patch for bash arithmetic
expansion.

Reported-by: Juan Perez-Sanchez <lithoxs@gmail.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-23 13:20:28 Tree
[cbd576] by Jody Bruchon Jody Bruchon

Makefiles for elksnet commands now strip symbols.

Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-23 04:55:02 Tree
[053926] by Jody Bruchon Jody Bruchon

"ash" binary was not stripped during compilation, resulting in a
slightly larger binary than necessary. Also, the elkscmd Makefile
needs to run "clean" in all directories since a user may have
manually built items in those directories.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-19 19:19:53 Tree
[567ed2] by Jody Bruchon Jody Bruchon

Merge branch 'master' of ssh://elks.git.sourceforge.net/gitroot/elks/elks

2012-02-19 19:16:19 Tree
[f86c5c] by Jody Bruchon Jody Bruchon

Included patches from the "nanox" project at:
http://code.google.com/p/nanox/
which is maintained by tinybit1@gmail.com.

Changes in the patch set brought in from nanox:
* UTS_VERSION fallback date string now explicitly specified
* Cosmetic change in Makefile-rules for VSNCODE
* Readability changes in Makefile
* arch/i86/drivers/block/doshd.c bug fixes:
* Head calculation was ANDed by 63 unnecessarily
* A sector calculation was & 0xff, should be 0x3f
* A cylinder calculation didn't add bits 9 and 8 back in
* A drive head count was not added to drivep->heads

Authored-by: Unspecified <tinybit1@gmail.com>
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-19 19:14:49 Tree
[a3bf3f] by Jody Bruchon Jody Bruchon

Bumped version to 0.1.4 and cleaned up Makefile a bit.

Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-19 05:23:59 Tree
[d9cb07] (0.1.4) by Jody Bruchon Jody Bruchon

Included patches from the "nanox" project at:
http://code.google.com/p/nanox/
which is maintained by tinybit1@gmail.com.

Changes in the patch set brought in from nanox:
* UTS_VERSION fallback date string now explicitly specified
* Cosmetic change in Makefile-rules for VSNCODE
* Readability changes in Makefile
* arch/i86/drivers/block/doshd.c bug fixes:
* Head calculation was ANDed by 63 unnecessarily
* A sector calculation was & 0xff, should be 0x3f
* A cylinder calculation didn't add bits 9 and 8 back in
* A drive head count was not added to drivep->heads

Authored-by: Unspecified <tinybit1@gmail.com>
Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-19 04:25:45 Tree
[7cbdd7] by Jody Bruchon Jody Bruchon

Documentation folder cleanups.

Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 18:27:44 Tree
[02863b] by Jody Bruchon Jody Bruchon

Removed CONFIG_NOT_YET from the kernel entirely. As of now, the
only non-existent code should be CONFIG_MODULES, which was also
slightly tweaked in this commit for clarity. To remove the option
CONFIG_MODULES, tri-state menu options would also need to be taken
out, so for now, we are leaving it in place.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 17:27:08 Tree
[bc3e1c] by Jody Bruchon Jody Bruchon

Removed all MSDOS/FAT/VFAT options. There was no code associated
with them whatsoever.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 16:46:58 Tree
[f48193] by Jody Bruchon Jody Bruchon

Removed "old XT hard disk support" as it was a nonexistent driver.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 16:34:35 Tree
[03973e] by Jody Bruchon Jody Bruchon

Removed expanded memory (EMS) configure options and dummy code.
EMS support is not feasible to add, and EMS memory is extremely
difficult to find in 2012, so there is no point in keeping it.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 16:19:48 Tree
[5c9193] by Jody Bruchon Jody Bruchon

Removed elksfs filesystem; it is a clone of the Minix filesystem,
and other than changing references in the code to contain the new
name, elksfs contains no new or useful code at all, thereby only
bloating the code base without a purpose. Furthermore, no tools
seem to exist to create an elksfs filesystem on disk, and no
reference exists to outline the structure of elksfs. Since it is
pure bloat with no value, it must be removed.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-17 05:12:25 Tree
[216dfc] by Jody Bruchon Jody Bruchon

If "make Image" is run, it seems that arch/i86/Image is never
deleted on a "make distclean" when it should be. This patch fixes
the (trivial) problem.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-12 22:40:48 Tree
[a29eda] by Jody Bruchon Jody Bruchon

In arch/i86/drivers/char/meta.c, a struct declaration issued a
function call with a variable whose declaration was placed after
the struct declaration, causing a compile error. I have moved the
variable's declaration to be performed first, fixing the compile
error.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-11 06:31:13 Tree
[82afea] by Jody Bruchon Jody Bruchon

In elks/fs/romfs/inode.c, the function romfs_copyfrom() accepts
Void *dest, but an invalid lvalue error was generated by this:

((char *)dest) += maxsize;

By asking for char *dest instead, the function compiles properly.
Since romfs is "in development," I cannot test the code, but it
at least compiles now.

Signed-off-by: Jody Bruchon <jody@jodybruchon.com>
Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-11 06:17:00 Tree
[3f2931] by Jody Bruchon Jody Bruchon

Removed old junk that is no longer needed, including snapshots of
various ELKS websites, and empty or pointless directories and
files.

Committed-by: Jody Bruchon <jody@jodybruchon.com>

2012-02-06 04:55:21 Tree
Older >