Commit Graph

38 Commits

Author SHA1 Message Date
imp
cbc58cf8a6 Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core
2004-04-05 23:41:29 +00:00
marcel
275a1bc68b Don't create a mapfile during link. It's not needed for the build. 2004-02-13 04:45:41 +00:00
ru
29e2565062 Tidy up makefiles.
Tested by:	marcel
2004-02-12 08:10:34 +00:00
marcel
bca6895fb7 Fix the build of libski now that we use the "official" MADT table
definitions. Those are slightly different than the ones we used
before ACPI-CA 20031203 got imported. No structural or functional
change.
2003-12-09 08:35:17 +00:00
marcel
9cbd7fa025 Implement PAL_HALT_LIGHT now that the kernel halts the processor
when idle. All we have to do is return.
2003-11-09 07:42:16 +00:00
marcel
f8d7139835 Do not strip skiload when installed. The stripped binary does not load
in the simulator.
2003-11-09 06:53:37 +00:00
obrien
ed9debd5e8 Use __FBSDID().
Also some minor style cleanups.
2003-09-08 09:11:32 +00:00
marcel
61fdb320d8 Fix the ski loader, broken by the gcc upgrade. Update the linker
script to match the one for the EFI loader and rewrite __start()
in assembly to have gp defined without getting in the way of the
compiler.
2003-07-17 01:49:59 +00:00
peter
fb5fbfc750 Enable the i386 loader to load and run an amd64 kernel. If this puts
things over floppy size limits, I can exclude it for release builds or
something like that.  Most of the changes are to get the load_elf.c file
into a seperate elf32_ or elf64_ namespace so that you can have two
ELF loaders present at once.  Note that for 64 bit kernels, it actually
starts up the kernel already in 64 bit mode with paging enabled.  This
is really easy because we have a known minimum feature set.

Of note is that for amd64, we have to pass in the bios int 15 0xe821
memory map because once in long mode, you absolutely cannot make VM86
calls.  amd64 does not use 'struct bootinfo' at all.  It is a pure loader
metadata startup, just like sparc64 and powerpc.  Much of the
infrastructure to support this was adapted from sparc64.
2003-05-01 03:56:30 +00:00
marcel
578041b6e2 Remove `#ifndef lint' left behind after previous change. 2003-04-04 02:12:56 +00:00
obrien
96d4258af9 Use __FBSDID rather than rcsid[]. 2003-04-03 21:36:33 +00:00
obrien
de20c1280d Consistently use NOFORTH to control the usage of ficl. 2003-02-26 06:18:52 +00:00
marcel
a46312efdc Simplify page alignment. 2003-02-20 06:47:54 +00:00
marcel
389e4c3a2a Remove special casing for running in the simulator from the kernel
and instead add platform, firmware and EFI stubs to the loader.
The net effect of this change is that besides a special console and
disk driver, the kernel has no knowledge of the simulator. This has
the following advantages:
o  Simulator support is much harder to break,
o  It's easier to make use of more feature complete simulators.
   This would only need a change in the simulator specific loader,
o  Running SMP kernels within the simulator. Note that ski at this
   time does not simulate IPIs, so there's no way to start APs.

The platform, firmware and EFI stubs describe the following hardware:
o  4 CPU Itanium,
o  128 MB RAM within the 4GB address space,
o  64 MB RAM above the 4GB address space.

NOTE: The stubs in the skiloader describe a machine that should in
parts be defined by the simulator. Things like processor interrupt
block and AP wakeup vector cannot be choosen at random because they
require interpretation by the simulator. Currently the simulator is
ignorant of this.

This change introduces an unofficial SSC call SSC_SAL_SET_VECTORS
which is ignored by the simulator.

Tested with: ski (version 0.943 for linux)
2003-02-01 22:50:09 +00:00
marcel
50ebb07c38 SSC calls use break immediate 0x80000. 0x80001 only works for
break.i. Ski is rather broken in this respect.
2003-02-01 21:38:36 +00:00
jake
081cb688ba Renamed the loader's zipfs to gzipfs. zipfs.c was repo-copied to gzipfs.c. 2002-12-19 19:34:59 +00:00
peter
478da56c11 At great personal risk, add a __packed and __aligned(x) define that
expand to __attribute__((packed)) and __attribute__((aligned(x)))
respectively.  Replace the handful of gcc-ism's that use
__attribute__((aligned(16))) etc around the kernel with __aligned(16).

There are over 400 __attribute__((packed)) to deal with, that can come
later.  I just want to use __packed in new code rather than add more
gcc-ism's.
2002-09-23 05:55:10 +00:00
peter
9fb8326f23 Add boot_serial and boot_multicons variables to set RB_SERIAL and
RB_MULTIPLE since this seems to be the easiest way to add these flags
for non-forth loaders etc.
2002-06-20 06:29:42 +00:00
marcel
768ae8ea9a o Remove namespace pollution from param.h:
-  Don't include ia64_cpu.h and cpu.h
   -  Guard definitions by  _NO_NAMESPACE_POLLUTION
   -  Move definition of KERNBASE to vmparam.h

o  Move definitions of IA64_RR_{BASE|MASK} to vmparam.h
o  Move definitions of IA64_PHYS_TO_RR{6|7} to vmparam.h

o  While here, remove some left-over Alpha references.
2002-05-19 04:42:19 +00:00
obrien
ce04447cdf -ffreestanding is the word.
(also resort some CFLAGS such that the more "important" value are first so
they are easier to see)
2002-05-10 09:26:35 +00:00
peter
1a2f6bfa9f Set BINDIR 2002-04-07 04:26:42 +00:00
peter
cddc57f171 Make it a bit closer to the EFI build and tie up some loose ends. 2002-04-06 04:33:53 +00:00
peter
bc98e7be03 Do not add the ficl/alpha subdir to the ia64 include path. Try ficl/ia64
instead.
2002-04-06 04:16:58 +00:00
marcel
688cf86e24 Pass the address of the bootinfo block to the kernel in register
r8. Keep it at the hardwired address for now. Bump the version.
2002-03-30 23:52:34 +00:00
marcel
e27cdad86b Fix the beforeinstall target. We install ${PROG}.help if loader.help
exists, otherwise we install it anyway. I interpret this as a very
high desire to install ${PROG}.help. Alas, ${PROG}.help doesn't exist
at the moment and neither does loader.help, so in practice this just
doesn't work, no matter how you interpret it. The compromise is to
install ${PROG}.help IFF it exists. I realize we lost creativity with
this commit, but style should have been preserved, AFAICT :-)
2002-03-29 22:53:56 +00:00
marcel
4131d9a132 Duplicate the logic used elsewhere to define LIBSTAND. 2002-03-28 06:52:10 +00:00
peter
d508cde2ba Add -ffreestanding to avoid printf/puts/putchar conversions 2002-03-19 10:51:57 +00:00
peter
40fe009adb Remove bootinfo.bi_kernel. It isn't used by the kernel. struct bootinfo
should go away on ia64, we should be loader metadata based since that is
the only way we can boot (loader, skiload).
2001-11-19 07:05:10 +00:00
peter
536bf9b42b Fix a dependency violation, same as in libefi/elf_freebsd.c a while back. 2001-11-19 06:59:53 +00:00
peter
5147ce6799 Make this 'make obj' safe 2001-09-26 00:13:08 +00:00
dfr
8b6fdd5792 Add definition of SSC_GET_RTC. 2001-09-20 08:22:56 +00:00
dfr
42cbd97a48 Implement time(). 2001-09-19 12:12:12 +00:00
dfr
573409ef19 Add a fake memory descriptor for the I/O port space. 2001-09-15 18:29:42 +00:00
dfr
60a2e27040 Fill in the bootinfo's memory map. 2001-09-15 09:53:56 +00:00
dfr
44cdde0e70 Remove dead code. 2001-09-15 08:25:16 +00:00
dfr
78bcb999c4 Update code which creates bootinfo. 2001-09-13 12:49:02 +00:00
dfr
e457c6698c A command file for SKI which runs the loader up to the first instruction
of the loaded kernel.
2001-09-12 15:08:49 +00:00
dfr
49cae21f8a Add a version of the loader which runs under SKI, the HP ia64 simulator.
This loader is quite functional and can load and run kernels. The kernels
don't quite work right after loading but that should be easily fixable.
2001-09-12 08:34:27 +00:00