Commit Graph

1286 Commits

Author SHA1 Message Date
Geoff Rehmet 2f7048bff0 Make inflate() reentrant - no more global variables.
(The gzip image activator now needs a good code tidy up.)
1994-10-07 23:18:18 +00:00
Geoff Rehmet ee38c19853 First stage of getting imgact_gzip reentrant:
1) cut this up into /sys/sys/inflate.h, sys/kern/inflate.c
sys/kern/ingact_gzip.c
2) make a lot more things static
3) make a lot of globals const
4) make some args const
5) first stage of making globals into a struct (not used yet)

The vm_allocate() call which was introduced between revisions 1.4 and
1.5 of imagact_gzip.c broke things.  I have backed that out for the time
being.  (Davidg: help please)

WARNING: if you have gzip enabled in your kernel, you must now run
config again, as another source file has been added.  Otherwise your
kernel compile will fall over.

This is all still WIP.  More commits to come.

Suggestions from: phk.
1994-10-07 22:27:00 +00:00
Poul-Henning Kamp 26dc463449 I forgot this bit of APM stuff last week. 1994-10-07 21:23:33 +00:00
Poul-Henning Kamp db9c7160f8 Reviewed by: phk
Submitted by:	 Thomas David Rivers <rivers%ponds@ncren.net>

WARNING: might hide some bug below!  I commit this to improve the stability
of 2.0.

Thomas wrote:
-------------
 I have been running a kernel with this change since October 4th; barring
unrelated network router troubles, the pitiful little machine has
completed several builds without any interaction from me, and continues
to chug along.

 I re-read wd.c, and added appropriate printfs() to look for references
to dk_badsect[].  My changes should have printed something when dk_badsect[]
was referenced.

 I got no output :-(

 Thus, I'm forced to concluded that something else is examining some
spurious memory... which happened to be in dk_badsect[] of the disk structure
in wd.c.  I can find no other explanation of why this unnecessary
initialization causes things to operate correctly.

 On the premise that such an initialization isn't going to hurt anything,
I'm going to suggest it go into 2.0.

 I'd like to thank everyone for there assistance, particularly David,
John and Bruce.
1994-10-07 21:17:41 +00:00
Poul-Henning Kamp ccf5ce89c2 Cosmetics. Added four prototypes. 1994-10-07 07:33:51 +00:00
Poul-Henning Kamp 4e39a515d4 Cosmetics. Unused vars and other warnings. 1994-10-07 07:23:04 +00:00
David Greenman f8f472c265 #ifdef DISKLESS the copying of the nfs_diskless structure. Not the best
solution, but the only one I have time for at the moment.
1994-10-07 05:45:27 +00:00
Andrey A. Chernov 24c989ac53 Change first CFLAGS+= to CFLAGS= or we got really bad results
especially with -m486 from make.conf
1994-10-07 05:36:01 +00:00
David Greenman 824789192c Use tsleep() rather than sleep so that 'ps' is more informative about
the wait.
1994-10-06 21:07:04 +00:00
Poul-Henning Kamp c3a82ca0a6 Steven Wallace provided a program which broke this stuff. I guess there are
more weird kinds of a.out than anyone can argue for.  This code failed to
load the first 28K of the text-segment, in the case where the first page
of the a.out contains only the a.out-header, and the text is still at 0x0.
Thanks Steven !
1994-10-06 18:22:24 +00:00
Rodney W. Grimes 9949ebf656 1. BOOTSEG and BOOTSTACK are now set from the Makefile, the boot code has
been relocated to run in the 64k segment at 0x10000 with the stack at
    the top of this segment.  This corrects the problems machines with 512K
    base memory had booting.

2.  startprog routing rewritten to convert the BOOTSEG ss to a KERNELSEG
    ss, this eliminated the last of the >512K memory references.  Additional
    cleanup in here included a better way to copy the arguments to the
    kernel stack.

3.  Elimination of argv and esym cruft saved a few bytes.

4.  Only need to truncate the head.a_entry to a meg boundary once intead
    of every time we used it!  [Saving more bytes].

5.  Addition of version 1 bootinfo structure support.  These boot blocks
    pass the kernel name in to the kernel now.

6.  Removed historical comments about MACH argv stuff, as it is useless now.
1994-10-06 09:41:05 +00:00
Rodney W. Grimes 76b993fbbe 1. bootinfo.h defines the structure passed in to the kernel by the
new boot code.
1994-10-06 09:25:25 +00:00
Rodney W. Grimes 0b62704dc3 1. Eliminate unused esym global from locore, our boot code never supported
that and when it does it will be done differently.

2.  The kernel now does a frame setup on entry so it ``looks'' like a
    real function call.  This will be needed by future boot code and
    debuggers.

3.  Clean up stack offsets to all be in decimal and use %ebp when copying
    parameters in from the boot code.

4.  Implement version 1 of the uniform boot code passing mechanism with
    support for kernelname passing and nfs_diskless structure passing.

5.  Document the 3 different ways the kernel is called depending on what code
    is calling it.
1994-10-06 09:22:47 +00:00
Garrett Wollman 222f271829 Define a new macro. PSEUDO_SET, to hide TEXT_SET(pseudo_set, foo)
from users.  Eventually this will be used for LKM support.
1994-10-05 21:23:38 +00:00
Garrett Wollman 5f62e00893 Install line discipline the new way. 1994-10-05 21:22:45 +00:00
Garrett Wollman 5d1b52e53e Allow for loadable line disciplines (eventually). 1994-10-05 21:22:24 +00:00
Garrett Wollman 2624cf89f9 A number of bug-fixes inspired by Mark Treacy:
- Allow PPP to run multicasts natively.
- Deal properly with lots of similarly-named interfaces.
- Don't sign-extend if_flags.

NB: the last fix (to rtsock.c) must be reversed when we expand if_flags to a
reasonable size.

Submitted by:	Mark Treacy
1994-10-05 20:11:28 +00:00
David Greenman 8e58bf6875 Stuff object into v_vmdata rather than pager. Not important which at
the moment, but will be in the future. Other changes mostly cosmetic,
but are made for future VMIO considerations.

Submitted by:	John Dyson
1994-10-05 09:48:45 +00:00
David Greenman 5cedf6806b Fixed minor bug caused by some missing parens that can result in slightly
reduced paging performance by missing a clustering opportunity. Found
by Poul-Henning Kamp with gcc -Wall.
1994-10-05 09:02:53 +00:00
Poul-Henning Kamp 009bc0f68d David Greenman told me to do this: (Thanks!) use vm_allocate to allocate
the uncompression buffer.  Now malloc(M_GZIP) is used for all the Huffman-
tree stuff only.  Numbers so far indicate < 15Kb Malloc use + 32 Kb for
the abovementioned buffer while uncompressing.
1994-10-05 00:58:33 +00:00
Andrey A. Chernov 03e4d516a4 Add code to handle CPU_DISRTCSET 1994-10-04 18:44:21 +00:00
Andrey A. Chernov fd34b8e78c Add disable_rtc_set variable to block resettodr() call, needed for
adjkerntz -i, per Bruce suggestion
1994-10-04 18:39:10 +00:00
Andrey A. Chernov f80d8a2e88 CPU_DISRTCSET added to disable resettodr(), needed in adjkerntz -i,
per Bruce suggestion
1994-10-04 18:25:51 +00:00
Andrey A. Chernov 70c0b54c8a USE_RTC_CENTURY added 1994-10-04 14:11:02 +00:00
Andrey A. Chernov 3bbe7b72df RTC_CENTURY usage ifdefed out by USE_RTC_CENTURY compile option,
pointed by Bruce
1994-10-04 13:59:44 +00:00
David Greenman 8baf4dac64 John Dyson's work in progress. Not currently used. 1994-10-04 07:32:08 +00:00
Poul-Henning Kamp 0c99df0d8d Added M_GZIP for the imgact_gzip code. The gzip-code is likely to be used
for other weird things in the future (hint, hint!)
1994-10-04 06:51:42 +00:00
Poul-Henning Kamp c5789ba376 Moved m_copyback into uipc_mbuf.c 1994-10-04 06:50:01 +00:00
Rodney W. Grimes 71d20391bf In sd_get_params() the timeout for the MODE_SENSE command was too
short. I changed it from 2000 to 4000 and now my disk works fine.

Submitted by:	John Hay <jhay@mikom.csir.co.za>
1994-10-04 06:45:57 +00:00
Rodney W. Grimes 1c1483cb2a Pull in 1.1.5.1 changes to sd.c from 1.23 to 1.27 (basically the fixes for
drives that return sector counts of 0 and cause division by 0 traps during
the probe).
Reviewed by:	Dave <root@hclb.demon.co.uk>
Obtained from:	FreeBSD 1.1.5.1
1994-10-04 06:39:27 +00:00
David Greenman 91b1e28556 Commented out anti-paging code as it was found to be the cause of a
buffer deadlock.
1994-10-04 03:10:47 +00:00
Poul-Henning Kamp 4efda9261d Based on the applause (in this case: not downright rejection :-) I have
cleaned up much of the cruft in this thing.

No printf's in the case where things go well.

Gzip-headers can contain filenames and comments (as long as they're
shorter than the page-size.)

I don't think we leak memory, in the "exec/aout" code.  I'm not quite sure
about the inflate code yet, but I don't think memory is lost.

Q:  Can I add a class M_GZIP to <sys/malloc.h> and bump M_LAST one up
without any thing else needing tweaking ?

Poul-Henning
1994-10-04 03:09:13 +00:00
David Greenman edaaafdb0f Fixed bug related to proper sensing of page modification that we
inadvertantly introduced in pre-1.1.5. This could cause page modifications
to go unnoticed during certain extreme low memory/high paging rate conditions.

Submitted by:	John Dyson and David Greenman
1994-10-04 03:05:09 +00:00
Poul-Henning Kamp 4dd5a68318 First bug-fix. This this depends on something odd. I am looking at it,
but every now and then it will fail without an explanation :-(
1994-10-03 23:14:48 +00:00
Rodney W. Grimes def3ff8dc9 Put genassym: back how it was originally, the real bug was in mkdep. 1994-10-03 23:03:38 +00:00
Poul-Henning Kamp 8819d6eca4 I added "pserudo-device gzip" as default. 1994-10-03 22:32:13 +00:00
Poul-Henning Kamp cabc837c74 dependency for genassym was wrong, there is never made a genassym.o file.
made i depend on the src.
1994-10-03 18:51:35 +00:00
Poul-Henning Kamp e64ac77789 Changed the imgact_gzip to "optional gzip" per David Greenman's request. 1994-10-03 06:35:17 +00:00
Poul-Henning Kamp 37c32e9f3a ***
WARNING:  THIS MATERIAL MIGHT GO AWAY!
This material needs the core-groups approval to stay here for the 2.0 release.
If the core-group does not concent to this commit, it will be backed out.
***

It is a non-gpl'ed "unzip" which will allow execution of a.out files which
have been sent through "gzip -9".  The idea being saved disk-space.

Just now this code has quality rating:  "working prototype".

To compress a file to be used with this, do it exactly this way:

gzip -9 -v < /bin/FOO > /tmp/FOO
remember to chmod /tmp/FOO as needed.

DON'T compress all of you binaries right away !  There are several things
which you should consider first:

1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space.

2. It is slow.

3. It might crash your machine.

Apart from that, I welcome comments...

NB:  There is also a change to sys/conf/files, but cvs core-dumped on me,
so it didn't get into the logs or emailed, but the commit seems to have
happended OK.
1994-10-03 05:23:01 +00:00
Poul-Henning Kamp 7ba9adc8e7 ***
WARNING:  THIS MATERIAL MIGHT GO AWAY!
This material needs the core-groups approval to stay here for the 2.0 release.
If the core-group does not concent to this commit, it will be backed out.
***

It is a non-gpl'ed "unzip" which will allow execution of a.out files which
have been sent through "gzip -9".  The idea being saved disk-space.

Just now this code has quality rating:  "working prototype".

To compress a file to be used with this, do it exactly this way:

gzip -9 -v < /bin/FOO > /tmp/FOO
remember to chmod /tmp/FOO as needed.

DON'T compress all of you binaries right away !  There are several things
which you should consider first:

1. Using compressed binaries, you use >MUCH< more VM, and thus swap-space.

2. It is slow.

3. It might crash your machine.

Apart from that, I welcome comments...
1994-10-03 05:17:01 +00:00
Andrey A. Chernov 38ea5c3d90 Fix 'cursor-disappearce-after-switching-screen-from-X' bug 1994-10-03 01:22:46 +00:00
Andrey A. Chernov d32198f15b Add VMIN/VTIME support
Obtained from:  scratch :-)
1994-10-03 01:12:18 +00:00
Rodney W. Grimes 07049f23e9 genassym: depends on Makefile and genassym.o, genassym.o dependicies are
picked up from .depend.
1994-10-02 22:58:40 +00:00
Poul-Henning Kamp 0ff3ad4e5e In case CWARNFLAGS and COPTFLAGS are already defined (from /etc/make.conf
for instance), don't nuke them.
1994-10-02 21:50:51 +00:00
Paul Richards cc6ed8bf5e (There's two of these now (Am7990.h and am7990.h) and they need to
be merged at some point)

New AMD family ethernet driver. Should support BICC,NE2100, TNIC,
AT1500 and anything else that uses a Lance/PCnet type chip. Only been
tested with the BICC so far though.

Still work to do on performance and MULTICAST support needs to be added
but it's basically working and I want the revision history from this
point on
1994-10-02 21:16:01 +00:00
Paul Richards a57c5abbd5 New AMD family ethernet driver. Should support BICC,NE2100, TNIC,
AT1500 and anything else that uses a Lance/PCnet type chip. Only been
tested with the BICC so far though.

Still work to do on performance and MULTICAST support needs to be added
but it's basically working and I want the revision history from this
point on
1994-10-02 21:14:38 +00:00
David Greenman ce1e23b99c Add back and correct declaration of m_copyback() 1994-10-02 20:04:04 +00:00
Poul-Henning Kamp 45a0b89468 Avoid ddb getting a panic if the code-segment isn't the usual one... 1994-10-02 19:36:30 +00:00
David Greenman 336f97b7ad Patch from HOSOKAWA Tatsumi to fix bug in the size of apm_current_gdt_pdesc
Submitted by:	HOSOKAWA Tatsumi
1994-10-02 18:57:15 +00:00
Poul-Henning Kamp 623ae52e4e GCC cleanup.
Reviewed by:
Submitted by:
Obtained from:
1994-10-02 17:48:58 +00:00