Thu Nov 25 15:31:44 MSK 1999 MB

- 2.0
- EXTRAVERSION changed

Wed Nov 24 22:53:10 MSK 1999 MB

- smp_call_function problem fixed.
	Many thanks to Zdenek Kabelac for his help.
- mtrr should work now
- fixed Jerry Epplin's semaphores compilation
- fixed a problem with NMIs (you can now you FB consoles)

Sun Nov 21 10:57:07 MSK 1999 MB

- added install guide by Phil Wilshire (INSTALL.phil)

Sun Nov 14 12:41:26 MSK 1999 MB

- complain if CONFIG_MODVERSIONS is enabled, but "make dep" hasn't been run
- pthread_suspend_np should work cross-CPU

Sat Nov 13 01:55:57 MSK 1999 MB

- more compatibility fixes
- gcc 2.95 compile fixes
- another way to measure task jitter
- ban pthread_make_periodic_np if CONFIG_RTL_USE_V1_API is defined
- fix compatibility layer for SMP (apic calibration)

Sat Nov  6 15:16:08 MSK 1999 MB

- moved rtl_printf to rtl_core.h
- fixed README for measurements; redid module parameters
- use /dev/rtf3 for sound
- one-byte/two-byte count writes (8254)

Fri Oct 22 19:42:26 MSD 1999 MB

- the checkconfig target tests that Linux kernel configuration is compatible
with RTL


Thu Oct 21 05:10:30 MSD 1999 MB

- INSTALL: note about APM


Wed Oct 27 11:43:18 MSD 1999 MB

- interrupt flags are now rtl_irqstate_t
- design.pdf, rtlmanifesto.pdf
- rtl_request_irq does not enable the irq line by default
- manpage, compatibility layer updated for rtl_request_irq
- bugfix: frank_module used old pthread_suspend_np
- more make test fixes


Tue Oct 26 20:30:59 MSD 1999 MB

- (sneaked the below into 2.0pre3)
- pthread_suspend_np is not guaranteed to suspend the thread immediately
- rtl_delay fix for gcc 2.95 (Zdenek Kabelac)
- manpages: comments about kernel mode only functions
- lost rtf_resize
- "compatibility function" warning in all v1.x manpages


Tue Oct 26 10:28:01 MSD 1999 MB

- 2.0pre3

- fixed manpages installation
- pthread_suspend_np now takes the thread argument; works on the same-CPU only
- rtf_create behaves as described: return 0 on success; updated examples
- ok, FIFO handlers are no longer deprecated

Tue Oct 26 01:30:02 MSD 1999 MB

- more junk removed from kernel patch
- installation fixes, junk removed from io_apic.c (thanks to Zdenek Kabelac)
- hrtime_resolution declaration; value for Pentiums
- make test, rmrtl fixed (thanks to Andreas Franzen)

Sun Oct 24 16:06:20 MSD 1999 MB

- minimize_jitter==1 works in measurement
- fixed periodic mode for APIC
- rtl_core.h fix
- calibration is now done in rtl_time.c (reduced kernel patch)
- make mrproper


Fri Oct 22 03:09:42 MSD 1999 MB

- added the UPGRADING notes.
- rtl_getbestclock interface changed
- errno fix
- timer_test renamed to periodic_test


Fri Oct 22 01:34:42 MSD 1999 MB

- version 2.0pre2

Thu Oct 21 19:49:56 MSD 1999 MB

- oneshot timer test works
- rtl_setclockmode fixes
- Linux APIC irq generation fixed
- only set oneshot timer if not already set
- examples now check pthread_create return code correctly ( != 0)
- a really embarassing errno problem fixed
- use correct clock in the scheduler
- moved rtl_(un)setclockhandler to the common timer part
- gethrtimeres(); clock_getres on CLOCK_REALTIME gives a meaningful value
- more cross-CPU problems checking
- conpr fixed (another half day spent on stupid stuff like that; damn)
- more debugging routines
- CONFIG_RTL_ERRNO_THREADSAFE

Thu Oct 21 01:24:52 MSD 1999 MB

- multiply defined free_RTirq fix (thanks to Pavel Andris <utrrandr@savba.sk>)

Wed Oct 20 23:51:27 MSD 1999 MB

- version 2.0pre1
- UP compilation problem (spinlocks) fixed
- a note about egcs 1.1.2
- Linux kernel 2.2.13

Tue Oct 19 15:33:54 MSD 1999 MB

- tons of things changed:
- pthread_setperiod_np deprecated, use pthread_make_periodic_np (3) instead
- rtl_setclockmode(3), clock_gethrtime(3), rtl_getschedclock(3)
- man pages fixes
- insrtl, rmrtl
- periodic mode is kind of useful now
- "make test" hopefully fixed for all examples
- all examples are converted to use the new API
- old examples moved into examples/compat
- the hello world example
- stupid error in muldiv fixed. How did it work before I wonder.
- compatibility api examples are now in compat/ subdirectories
- total timer overhaul completed; everything is much nicer

Tue Oct 19 00:59:40 MSD 1999 MB

- hrtime_t, gethrtime()

Sun Oct 17 19:18:24 MSD 1999 MB

- man2html margin options fixed
- rtl_irqstate_t
- an example in rtl_no_interrupts.3
- rtl_free_soft_irq (fifos and scheduler updated)
- apropos indexing is kind of fixed
- errno.h
- read(2), write(2) etc are now POSIXly correct
	(set errno and return -1 on errors)
- lseek, SEEK_SET
- rtl_get_cpu_id => rtl_getcpuid
- LOTS of return values fixed for the pthread_ functions (POSIX!)
- FIFO functions return values fixed
- man pages and the compatibility layer are fixed to reflect
return values changes


Sat Oct 16 20:22:17 MSD 1999 MB

- 486 clock is a bit faster now

Fri Oct 15 19:12:16 MSD 1999 MB

- more POSIX include files
- examples/mmap shows how to use /dev/mem
- RTL /dev/mem
- INSTALL: stress the fact that Linux does depend on gcc 2.7.2.3
- CC=gcc in Makefile
- CC var in rtl.mk
- manpages split to man3, man4

Thu Oct 14 10:19:01 MSD 1999 MB

- manpages converted to HTML are in html/man
- mbuff 0.6.2

Wed Oct 13 17:01:12 MSD 1999 MB

- fp example now uses POSIX API
- fixed FP support; finding a typo took 2 days:(
- fsave => fnsave
- use_fp => setfp

Wed Oct 13 08:14:43 MSD 1999 MB

- mbuff 0.6.1
- make clean; make clean works

Tue Oct 12 13:58:26 MSD 1999 MB

- added mbuff 0.6 -- preferred shared memory solution
- removed portable_shm
- pthread_attr_setfp
- use struct sched_param declaration from sched.h
- a hello world program in examples/

Mon Oct 11 11:11:20 MSD 1999 MB

- timeout in fifo sleep code does away with (rarely happening) FIFO stalls
- GettingStarted.txt
- pthread_equal, pthread_attr_destroy
- named fifos support dropped
- race in rtl-fifos fixed; fifo stalls should go away
- 128K FIFO size limit removed
- various FIFO cleanups
- reorganized manpages into subdirectories


Fri Oct  8 14:24:58 MSD 1999 MB

- fixed gcc 2.95 compilation errors (bug reported by Zdenek Kabelac <kabi@informatics.muni.cz>)

- rtl_get_cpu_id.3 (moved to rtl_core.h)

Sun Oct  3 20:38:50 MSD 1999 MB

- Makefiles fixes (thanks to Pierre Cloutier <pcloutier@sympatico.ca>)

Sun Sep 19 14:40:17 MSD 1999 MB


- beta16 - version 2.0 candidate
- fixed SMP invalidation interrupt handling in irq.c
- rtl_get_soft_irq.3 and rtl_global_pend_irq.3
- rt_com actually works (POSIXIO included)
- incorporated rt_printk from David Schleef <ds@stm.lbl.gov>
- histplot.c by Phil Wilshire into examples/measurements
- reduced stack usage in irq.c (VY)

Fri Sep 17 21:43:36 MSD 1999 MB

- added portable_shm by Paolo Mantegazza
- rtl_hard_enable/disable_irq now have hard clis around them

Fri Sep 10 11:47:28 MSD 1999 MB

- make install now also compiles the modules
- fixed the bug that caused SMP kernels to fail on UP machines
- posix/string.h
- return "written" instead of "count" in rtf_put

Fri Sep  3 12:32:31 MSD 1999 MB

- CONFIG_RTL_DEBUG
- pthread_setcpu_np checks for invalid CPU ids
- use CPU-specific CFLAGS

Thu Sep  2 19:43:07 MSD 1999 MB

- rtl_core.h -- interrupt control
- fixed prototypes for interrupt control functions to use signed/unsigned as appropriate
- install manpages into /usr/local/man
- rtl.h
- more stuff in unistd.h
- patch: CONFIG_RTL by default is on
- more man pages
- POSIX compliance: pthread functions return -ESRCH if the thread cannot be found

- beta15

- include/posix with pthread.h, time.h and unistd.h
- Linux 2.2.12
- installation procedure fixes (Thanks to Tomasz Motylewski <motyl@stan.chemie.unibas.ch>)
- mbuff 0.6pre5

Wed Sep  1 20:42:36 MSD 1999 MB

- beta 14

- man pages for set/getcpu_np
- back off some changes between beta8 and beta9 in irq.c
- fixed make install
- named FIFOs with mbuff (in drivers/mbuff)
- fixed examples compilation (-c added)
- some renaming and moving in rtl_time.h and rtl_sched.h
- added the beginnings of a FAQ
- ioctl added to posixio

Thu Aug 12 21:47:50 MSD 1999 MB

- beta 13
- moved rtl_posixio to the system directory
- Linux 2.2.11

Tue Aug 10 16:56:06 MSD 1999 MB

- rtlpath.make => rtl.mk
- beta 12

Sun Aug  1 10:36:01 MSD 1999 MB

- incorporated mbuff by Tomasz Motylewski <motyl@stan.chemie.unibas.ch>
- i386/Makefile contains arch-specific options
- POSIX IO for rt_com
- revamped rt_com init routines
- improved rtlpath.make
- the measurement example now uses new POSIX IO routines
- new option: CONFIG_RTL_POSIX_IO. If defined, rtl_register_chrdev is performed.
- POSIX IO  for RTL-FIFOs
- moved rtl_time.c to the i386 directory


Sat Jul 31 19:36:08 MSD 1999 MB

- incorporated the rt_com serial driver
- POSIX IO framework
- asm => arch
- setcpu => setcpu_np

Wed Jul 21 21:53:48 MSD 1999 MB

- beta 11
- reference to the Single UNIX spec. (READMEFIRST)
- Jerry Epplin's man pages added to the distribution
- made kernel_patch binary in CVS
- nasty bug in irq.c fixed
- new debug routines in rtl_debug.h
- no printks in the thread code in multitask.c
- only make_rtl_system_idle/active if the current task has changed

Thu Jul 15 13:55:17 MSD 1999 MB

- do not sync the rtl_tq before the function is executed
- semaphores now work on uni-processors
- added multitask.c to regression


Wed Jul 14 01:13:11 MSD 1999 MB

- fixed make install
- got the semaphores to compile
- added module parameters to measurement examples
- timing mistake for 8254 corrected -- uncommented outb_p(0x30, 0x43) in settimer
- checklinuxirq moved for 8254; should probably move it into the scheduler or into a soft irq


Mon Jul 12 21:16:33 MSD 1999 MB

- handlers installed with compatibility request_RTirq behave the old way:
enable the hardware interrupt on return


Mon Jul 12 10:19:19 MSD 1999 MB

- request_RTirq, r_cli and friends to rt_irq.h
- enable the requested irq in rtl_request_global_irq
- fixed return values of rtl_request/free_global_irq
- added sound and compat (measurements from v1.2) examples -- tested on UP


Sun Jul 11 13:35:56 MSD 1999 MB

- frank_new.c now works (suspend/wakeup for pthreads demonstration). Uniprocessor mode only
right now.
- compatibility asm/rt_irq.h and asm/rt_time.h
- bugfix: thread->cpu wasn't defined on UP.
- fixed compatibility rt_get_time for SMP (scaler_ns_to_8254 was not initialized)
- include/x86 => include/asm-i386
- correct determining of the kernel version from the linux source tree
- removed include/linux/rtl_version.h as the version is now taken from the Makefile
- compile-time configuration can now be specified in include/rtl_conf.h;
the updateconf script in misc/ creates a .config file that can be used
in Makefiles for conditional compilation and linking
- rtl_conf.h: CONFIG_RTL_FP_SUPPORT implemented

Sat Jul 10 22:59:56 MSD 1999 MB

- new debug routines in rtl_debug.h
- frank example with pthreads (frank_new.c) -- doesn't work correctly yet
- pthread_suspend_np/wakeup interface
- "-RTL_BETA10" extraversion -- alsa and pcmcia like it this way


Thu Jul  8 10:32:57 MSD 1999 MB

- CONFIG_RTL everything except for arch/i386/kernel/irq.[ch] and system.h
- removed rtl_pthread_assign_to_cpu


Thu Jul  8 02:30:09 MSD 1999 MB
- creating thread on the other CPU implemented -- see the measurement example


Wed Jul  7 11:11:25 MSD 1999 MB

- fixed clock structures alignment problems
- SMP scheduler works (measurement)
- pthread_attr_setcpu/getcpu;


Tue Jul  6 12:04:40 MSD 1999 MB

- SMP timers work ok (the problem was in the "if (handler) handler();" race). Also fixed
initalization of APIC clock structures.


Mon Jul  5 13:21:35 MSD 1999 MB

- rtl_get_cpu_id instead of 0 in regression tests

Sun Jul  4 21:31:20 MSD 1999 MB

- added oneshot_test to regression
- the clock is in oneshot mode by default
- use clock->getmode() in the scheduler
- moved linux_clock_time into the clock structure -- less alignment and cache problems
- apic timers now compile and work (unreliably) with timer_test and oneshot_test (need more testing)


Fri Jul  2 08:41:23 MDT 1999
Makefile addition to install in regression examples
Put the enable_irqs back into regression/rtc_test.c for the 11millionth time! Nitwit.

Put in changes to timer and scheduler to simplify
Thu Jun 24 21:36:49 MSD 1999 MB
- don't use 8254 for anything in the SMP mode

Tue Jun 22 23:03:52 MSD 1999 MB

- make make_periodic set delayed state in the cross-cpu wrapper too

- (VY) rtl_intercept fixes


Sat Jun 19 21:01:12 MDT 1999 VY
make make_periodic set delayed.
-----------------------------------------------------
- Linux 2.2.10

- eliminated huge timer irq latency: in arch/i386/kernel/irq.c if the realtime handler is
present, unmask the irq immediately after running the hard handler; this is probably
wrong, but...

6/8/99
- EXTRAVERSION moved up in the Linux Makefile (so that the PCMCIA stuff doesn't get confused)
- make clean in schedulers/


- cross-CPU-safe compatibility functions
- thread exit code corrected
- linux_saved_ts moved into sched_struct for cacheing reasons
- task queues fixed

- old RTIME ticks in the compatibility package

5/28/99
- soft irqs actually work


5/27/99
- rtl-fifo soft irq deallocation
- reverted include/linux/tqueue.h to the original Linux version


5/26/99
- VY: soft irqs


5/22/99 MB
- RT-FIFOs: tq_scheduler instead of tq_rtl
- fixed examples for 2.2.9


5/14/99 II VY 
updated to 2.2.9
seems to work. frank example is slower than death for some reason, 
measurement seems to indicate that fifo wakeups don't work properly.

5/14/99 VY
-Changed irq.c to handle 256 interrupts properly. Next step is
the linux 2.3 patch.


5/9/99

- updated examples/parallel
- some notes on POSIX in ../READMEFIRST
- emulation of rt_task_make_periodic, rt_task_wait using POSIX timers
- the measurement example rewritten using POSIX timers
- POSIX timers support, rtl_pthread_wait_timer function
- pthread_create now starts the task immediately
- aligned the rtl_clock and sched_data structs to 64 bytes for better cacheing
and indexing


5/8/99
- kernel/rtl.c: use UTS_RELEASE instead of include/linux/rtl_version.h
		so /proc/rtlinux is always up to date
- rtl_printf added


5/7/99

- pthread_setschedparam and friends -- see rtl_sched.h
- internal priority scheme changed to match POSIX (larger values
	mean higher priority). rt_task_init works as before.


5/5/99

- finally got the irq emulation right
- changed RT-FIFOs major to 150 (officially allocated value)


5/3/99
- fixed schedulers/Makefile to clean rtl_time.o
- fixed? the "stuck on TLB IPI wait" problem in irq.c
- fixed rescheduling probelms on UP
- the rtl version doesn't depend on kernel being SMP
	-- no circular dependencies problems this way.


5/2/99

- Linux 2.2.7
- fixed the LINUX_KERNEL_DIR (=="linux")
- changed the Linux makefile to use EXTRAVERSION rather than RTL_VERSION;
- changed the rtl makefile to use uname -r to get the kernel version

4/30/99
- RTL idle tasks -- MB
- kernel: fixed rescheduling problems (at least on SMP) -- MB
- fixed version number, sort of, in rtl/makefile
- made linux kernel name a variable.

4/29/99
- fixed "excess initializers in irq.c"
- put under CVS
- monitor compilation problem fixed
- fixed APIC uninit for APICs in the oneshot mode

MB 4/25/99

- NR_IRQS = 32
- fp support works on UP
- made Linux just another task
- separated per-cpu data structures
- RTL_TASK=>RTL_THREAD
- checklinuxirq
- initialize APICs by default to oneshot
- cpu_exists added
- safe destruction of tasks on the other CPU
- really put apic timer in oneshot mode -- no irq flooding this way
- got rid of the period structure element

VY.

Moved kernel_patch to right place
Added copyright notice
fixed Linux makefile to have sensible version
fixed Linux/include/rtl_version
added a couple of notes to rtl/TODO

MB
 - Linux 2.2.6
 - don't touch the timer in drivers/char/vt.c
 - use nanoseconds as time units
 - rtl_delay takes nanoseconds
 - we don't calibrate Pentium anymore; it's done in the main Linux code
 - same for APIC counter/timer
 - can create tasks on any clock: APIC clock, 8254 clock, etc.
 - POSIX.1b functions for handling time
 - support struct timespec interface
------------------------------------------------------------


This is the first release of 2.x RTL, based on Linux 2.1
Most of it seems to work with these exceptions:
     1. The schedulers and fifos are not SMP ready. Interrupt are ok
        on SMP.
     2. Named fifos is not ported.
     3. Semaphores is not ported.

     BETA VERSION 
-------------------------------------------------------------
