Commit Graph

1387 Commits

Author SHA1 Message Date
Tom Rhodes
a122cca953 These are changes to allow to use the Intel C/C++ compiler (lang/icc)
to build the kernel. It doesn't affect the operation if gcc.

Most of the changes are just adding __INTEL_COMPILER to #ifdef's, as
icc v8 may define __GNUC__ some parts may look strange but are
necessary.

Additional changes:
 - in_cksum.[ch]:
   * use a generic C version instead of the assembly version in the !gcc
     case (ASM code breaks with the optimizations icc does)
     -> no bad checksums with an icc compiled kernel
     Help from:		andre, grehan, das
     Stolen from: 	alpha version via ppc version
     The entire checksum code should IMHO be replaced with the DragonFly
     version (because it isn't guaranteed future revisions of gcc will
     include similar optimizations) as in:
        ---snip---
          Revision  Changes    Path
          1.12      +1 -0      src/sys/conf/files.i386
          1.4       +142 -558  src/sys/i386/i386/in_cksum.c
          1.5       +33 -69    src/sys/i386/include/in_cksum.h
          1.5       +2 -0      src/sys/netinet/igmp.c
          1.6       +0 -1      src/sys/netinet/in.h
          1.6       +2 -0      src/sys/netinet/ip_icmp.c

          1.4       +3 -4      src/contrib/ipfilter/ip_compat.h
          1.3       +1 -2      src/sbin/natd/icmp.c
          1.4       +0 -1      src/sbin/natd/natd.c
          1.48      +1 -0      src/sys/conf/files
          1.2       +0 -1      src/sys/conf/files.amd64
          1.13      +0 -1      src/sys/conf/files.i386
          1.5       +0 -1      src/sys/conf/files.pc98
          1.7       +1 -1      src/sys/contrib/ipfilter/netinet/fil.c
          1.10      +2 -3      src/sys/contrib/ipfilter/netinet/ip_compat.h
          1.10      +1 -1      src/sys/contrib/ipfilter/netinet/ip_fil.c
          1.7       +1 -1      src/sys/dev/netif/txp/if_txp.c
          1.7       +1 -1      src/sys/net/ip_mroute/ip_mroute.c
          1.7       +1 -2      src/sys/net/ipfw/ip_fw2.c
          1.6       +1 -2      src/sys/netinet/igmp.c
          1.4       +158 -116  src/sys/netinet/in_cksum.c
          1.6       +1 -1      src/sys/netinet/ip_gre.c
          1.7       +1 -2      src/sys/netinet/ip_icmp.c
          1.10      +1 -1      src/sys/netinet/ip_input.c
          1.10      +1 -2      src/sys/netinet/ip_output.c
          1.13      +1 -2      src/sys/netinet/tcp_input.c
          1.9       +1 -2      src/sys/netinet/tcp_output.c
          1.10      +1 -1      src/sys/netinet/tcp_subr.c
          1.10      +1 -1      src/sys/netinet/tcp_syncache.c
          1.9       +1 -2      src/sys/netinet/udp_usrreq.c

          1.5       +1 -2      src/sys/netinet6/ipsec.c
          1.5       +1 -2      src/sys/netproto/ipsec/ipsec.c
          1.5       +1 -1      src/sys/netproto/ipsec/ipsec_input.c
          1.4       +1 -2      src/sys/netproto/ipsec/ipsec_output.c

          and finally remove
            sys/i386/i386        in_cksum.c
            sys/i386/include     in_cksum.h
        ---snip---
 - endian.h:
   * DTRT in C++ mode
 - quad.h:
   * we don't use gcc v1 anymore, remove support for it
   Suggested by:	bde (long ago)
 - assym.h:
   * avoid zero-length arrays (remove dependency on a gcc specific
     feature)
     This change changes the contents of the object file, but as it's
     only used to generate some values for a header, and the generator
     knows how to handle this, there's no impact in the gcc case.
   Explained by:	bde
   Submitted by:	Marius Strobl <marius@alchemy.franken.de>
 - aicasm.c:
   * minor change to teach it about the way icc spells "-nostdinc"
   Not approved by:	gibbs (no reply to my mail)
 - bump __FreeBSD_version (lang/icc needs to know about the changes)

Incarnations of this patch survive gcc compiles since a loooong time,
I use it on my desktop. An icc compiled kernel works since Nov. 2003
(exceptions: snd_* if used as modules), it survives a build of the
entire ports collection with icc.

Parts of this commit contains suggestions or submissions from
Marius Strobl <marius@alchemy.franken.de>.

Reviewed by:	-arch
Submitted by:	netchild
2004-03-12 21:45:33 +00:00
Bruce Evans
754df37025 Fixed a misspelling of 0 as NULL. 2004-03-11 10:09:01 +00:00
Marcel Moolenaar
618c18c7c3 Reset the text attributes when initializing the console. The EFI
loader typically doesn't do this so that we end up booting the
with whatever the EFI loader has set it to last.
2004-03-09 04:00:33 +00:00
Dag-Erling Smørgrav
949112b2e5 While I'm here, add linprocfs (but not pseudofs, since it is no use on
its own)
2004-03-01 18:42:16 +00:00
Dag-Erling Smørgrav
ff4e0229f4 Add acpi_video_load (default NO) in the ACPI section 2004-03-01 18:13:00 +00:00
Ruslan Ermilov
eec24f3275 For some reason crt0.o needs to be linked first for pxeboot(8) to
work.  This is odd because loader(8) doesn't suffer from this problem.
Perhaps pxeboot bootstrap can be fixed to handle this better.
Anyway, PXE booting should work again.
2004-02-27 14:10:09 +00:00
Max Laier
cc5934f5af Tweak existing header and other build infrastructure to be able to build
pf/pflog/pfsync as modules. Do not list them in NOTES or modules/Makefile
(i.e. do not connect it to any (automatic) builds - yet).

Approved by: bms(mentor)
2004-02-26 03:53:54 +00:00
Ruslan Ermilov
9aa2bd22cd Re-add sio.S, and properly deal with assembler files.
Repocopied by:	joe
2004-02-17 07:13:04 +00:00
David E. O'Brien
c3e6ec868f Fix the AMD64 build: this file shouldn't exist. 2004-02-16 23:47:02 +00:00
Simon L. B. Nielsen
862bba7a70 mdoc(7) janitor:
- Fix hard sentence breaks.
- Quote argument to the Nd macro.
- Use Pa for filenames.
2004-02-15 00:42:08 +00:00
Nate Lawson
d3e1c2411e Fix hw.acpi.os_name by renaming it to hw.acpi.osname. The "_name" suffix
is reserved by the loader, and thus any tunable name with that suffix will
be silently discarded.

Document this in the header and man page so that other developers do not
develop so many bumps on the head after banging it against the wall.

Detective work by:	Mark Santcroos, grehan
2004-02-14 03:17:30 +00:00
Yoshihiro Takahashi
1a413640ac MFi386: Get rid of unnecessary use of m4(1) by using cpp(1) instead.
Repocopied by:	joe
2004-02-13 15:39:59 +00:00
Yoshihiro Takahashi
32efe8e4b4 MFi386: revisions 1.74 and 1.75.
- kzip(8) is long dead.
  - Clean CLEANFILES.
2004-02-13 15:26:22 +00:00
Yoshihiro Takahashi
4dcf467f93 MFi386: revision 1.20 (don't strip kgzldr.o) 2004-02-13 15:24:25 +00:00
Marcel Moolenaar
317872f26c Don't create a mapfile during link. It's not needed for the build. 2004-02-13 04:45:41 +00:00
Marcel Moolenaar
a02efe9a7c o Don't build with -fpic. It's not needed and inconsistent with how
other constributions are compiled.
o  Remove powerpc specific additions to CFLAGS.
2004-02-13 04:43:41 +00:00
Ruslan Ermilov
63dfee8866 Fixed the fatal bug introduced in previous commit: don't strip
kgzldr.o -- kgzipping with such a loader produces bad images.
2004-02-12 22:06:33 +00:00
Ruslan Ermilov
c6cad6c575 Clean CLEANFILES. 2004-02-12 21:43:50 +00:00
Ruslan Ermilov
5c8f32a869 Tidy up makefiles.
Tested by:	marcel
2004-02-12 08:10:34 +00:00
Ruslan Ermilov
ea81a634b5 kzip(8) is long dead. 2004-02-11 22:25:25 +00:00
Ruslan Ermilov
40d387429f Overhaul makefiles. 2004-02-11 22:01:17 +00:00
Ruslan Ermilov
23350aaf89 _start.S -> _start.s as the latter is pure asm file.
Repocopied by:	joe
2004-02-11 21:17:04 +00:00
Ruslan Ermilov
846a4356ea Get rid of unnecessary use of m4(1) by using cpp(1) instead.
(John tells me there were problems when trying this before,
but it appears to be safe these day.)

OK'ed by:	jhb
Repocopied by:	joe
2004-02-11 08:42:38 +00:00
Ruslan Ermilov
f61e198401 Since loader(8) on SPARC64 is a pure ELF executable (as opposed
to other architectures), there is no reason not to strip(1) it.

Tested by:	kensmith
2004-02-10 22:11:36 +00:00
Peter Grehan
716563e20c Loader makefile cleanup.
Submitted by:  ru
2004-02-09 21:54:54 +00:00
Yoshihiro Takahashi
5e0eb6243d MFi386: Factor out -nostdlib and use PROG. 2004-02-09 16:01:45 +00:00
Ruslan Ermilov
78d6d797e9 MFi386.
- Factor out common settings and put them in an upper level Makefile.inc.
- Properly use PROG for real programs, not their products.
- Further reduce diffs to i386 versions.

Tested on:	sparc64 (panther)
2004-02-09 14:17:02 +00:00
Ruslan Ermilov
bcd106e18b - Factor out -nostdlib to an upper level Makefile.inc.
- Now that bsd.prog.mk deals with programs linked with -nostdlib
  better, and has a notion of an "internal" program, use PROG
  where possible.  This has a good impact on the contents of
  .depend files and causes programs to be linked with cc(1).

XXX: boot2 couldn't be converted as it's actually two programs.

Tested on:	i386, amd64
2004-02-09 14:11:58 +00:00
Ruslan Ermilov
8e310f4646 Argh, unbreak "make depend" for AMD64.
Reported by:	kris
2004-02-07 23:30:45 +00:00
Ruslan Ermilov
6ed6b4ab71 MFi386: Removed -elf and duplicate -ffreestanding. 2004-02-07 14:35:33 +00:00
Ruslan Ermilov
e215fffac2 - Removed -elf which is not a valid gcc(1) option anymore.
- Removed -ffreestanding; it's enforced by ../Makefile.inc.
2004-02-07 14:32:06 +00:00
Ruslan Ermilov
600f8a8d39 Generate .depend file. 2004-02-07 13:38:47 +00:00
Yoshihiro Takahashi
cc78dccee9 MFi386: Cleanups to sys/boot makefiles. 2004-02-07 12:19:44 +00:00
Ruslan Ermilov
079cbb98ac Style: use the defined() expression explicitly. 2004-02-07 11:05:10 +00:00
Ruslan Ermilov
7e39a38ec9 Untangle building of AMD64 boot code.
Tested on:	amd64 (sledge)
2004-02-07 08:10:07 +00:00
Ruslan Ermilov
a4a62f5d1f First round of cleanups to sys/boot/ makefiles:
- do not use PROG for what's not a real C program,
- use sys.mk transformation rules where possible,
- only create the "machine" symlink on AMD64,
- removed MAINTAINER lines in individual makefiles,
- added the LIBSTAND defitinion to <bsd.libnames.mk>,
- somewhat better contents in .depend files.

Tested on:	i386, amd64
Prodded by:	bde
2004-02-06 21:58:32 +00:00
Ruslan Ermilov
968ecff61c Inherit BINDIR from a parent Makefile.inc. 2004-02-06 12:58:32 +00:00
Ruslan Ermilov
742816a54a Only include ../Makefile.inc once in loader/Makefile. 2004-02-06 12:45:27 +00:00
Yoshihiro Takahashi
6bef25432c MFi386: revision 1.33
PR:	kern/62005
2004-01-28 04:15:31 +00:00
Jens Schweikhardt
2b51e103f6 Sync with Oxford Dictionary. Style (add missing full stops) while I'm here. 2004-01-27 22:15:03 +00:00
Dag-Erling Smørgrav
84344f9fbf Rename the kern.vm.kmem.size tunable to the more logical vm.kmem_size. To
assure backward compatibility (conditional on !BURN_BRIDGES), look it up
by its old name first, and log a warning (but accept the setting) if it
was found.  If both the old and new name are defined, the new name takes
precedence.

Also export vm.kmem_size as a read-only sysctl variable; I find it hard to
tune a parameter when I don't know its default value, especially when that
default value is computed at boot time.
2004-01-27 15:59:38 +00:00
John Baldwin
4939882522 If a transfer to or from a floppy disk crosses a 64k boundary, we have to
use a bounce buffer for the actual transfer to avoid crossing a 64k
boundary.  To do this, we malloc a buffer twice as big as we need and then
find an aligned block within that buffer to do the transfer.  The check
to see which part of the block we use used the wrong variable for part of
the condition meaning that in certain edge cases we would ask the BIOS to
cross a 64k boundary.  The BIOS request would then fail resulting in file
transfers that just magically fail in the middle without any apparent
reason.  Specifically, my tests for the splitfs boot floppies managed to
trigger this edge case.

MFC after:	1 week
X-MFC-info:	along with fixes to libstand filesystems
2004-01-21 23:22:29 +00:00
Yoshihiro Takahashi
c9a7784cc7 PC98 uses the different frame code. 2004-01-18 04:13:27 +00:00
Yoshihiro Takahashi
2b0292a5ae Fix to support KANA and graphics characters which code are over 0x80. 2004-01-18 04:10:45 +00:00
John Baldwin
361c31ad14 - Use constant for shift when converting file length in bytes to a sector
count.
- Fix the twiddle output so that it actually spins.
- Save %cx around BIOS calls to read in sectors from the disc as at least
  one BIOS trashes %cx when called to read off of a USB CD-ROM drive.

Submitted by:	Martin Nilsson <martin@gneto.com>
MFC after:	1 week
2004-01-12 20:34:42 +00:00
Scott Long
6d38a06c85 Disable the APIC when selecting the 'Safe Mode' option of the loader. This
will disable both APIC interrupt routing and SMP.
2004-01-09 19:20:47 +00:00
David E. O'Brien
b06cf654be Allow one to specify the com port settings for boot0sio. 2004-01-06 18:46:35 +00:00
David E. O'Brien
c990f469a7 Convert to __FBSDID. 2004-01-04 23:30:47 +00:00
David E. O'Brien
bd506e2a3a Convert to __FBSDID. 2004-01-04 23:21:18 +00:00
Peter Grehan
e49e14200a - Add ':' as a separator between the OpenFirmware device space and
the file path. Commonly used on Macs e.g. "hd:9".
- Update the ofw_setcurrdev routine to match libstand setenv prototype

Not objected to by: sparc64
2003-12-21 12:38:25 +00:00