Doug Rabson
3cf08d5025
Use PAGE_SHIFT instead of a hardcoded constant for log2(PAGE_SIZE).
2001-09-29 09:55:30 +00:00
Doug Rabson
27272270e8
* Preserve ar.rsc in ia64_change_mode.
...
* Convert sp to/from physical in ia64_change_mode.
* Add a shim for calling EFI procedures in virtual mode.
2001-09-29 09:54:42 +00:00
Doug Rabson
0e671be22e
Change END(locorestart) to END(__start).
2001-09-29 09:53:38 +00:00
Robert Watson
b9c6f21493
o Modify the access control checks for the ia64 /dev/mem (and friends)
...
to use securelevel_gt() instead of direct variable checks.
Obtained from: TrustedBSD Project
2001-09-26 20:24:23 +00:00
Doug Rabson
fa129a40db
Tidy up and fix a runtime warning.
2001-09-26 16:15:20 +00:00
Brooks Davis
2f65332817
The faith(4) device is no longer a count device so don't specify a count.
2001-09-25 18:56:40 +00:00
Doug Rabson
3dc2c2d530
Use b6 instead of b1 - b1 is supposed to be preserved and b6 is scratch.
2001-09-24 22:50:20 +00:00
Doug Rabson
f8c1540f3d
Make the Alternate {I,D} TLB vector code actually work for virtual
...
addresses greater than 256M (the page size for region 6 and 7).
2001-09-24 22:49:20 +00:00
Doug Rabson
588154e27b
Don't try to access external files from SKI unless we are actually running
...
in SKI.
2001-09-24 20:01:29 +00:00
Doug Rabson
40aef04652
Increase the number of bootstrap PVs.
2001-09-24 20:00:20 +00:00
Doug Rabson
9324a7e743
Include <machine/pte.h> instead of <machine/pmap.h>
2001-09-24 19:58:15 +00:00
Doug Rabson
32956c3d49
We need different call stubs for static and stacked calling conventions.
2001-09-24 19:41:16 +00:00
Doug Rabson
378482865e
Factor out PTE and related definitions from pmap.h - they are useful in
...
the loader.
2001-09-24 19:27:38 +00:00
Doug Rabson
cdb0e1b453
Fix a few comment typos from the last commit.
2001-09-24 17:38:58 +00:00
Doug Rabson
a7f1f8b902
Add some code which can be used to change to/from physical mode when
...
calling various firmware functions.
2001-09-24 17:07:23 +00:00
David E. O'Brien
090905a55c
+ Fix misplacement of `txp'
...
+ Document our -CURRENT debugging bits
2001-09-24 03:23:48 +00:00
Doug Rabson
3995e0ebca
Add definitions of SAL System Table.
2001-09-23 10:26:20 +00:00
Doug Rabson
568c95f6ca
Don't activate the ssc console unless we are running in SKI.
2001-09-22 19:52:02 +00:00
Doug Rabson
23a7118905
Add implementations of readx() and writex().
2001-09-22 19:51:18 +00:00
Doug Rabson
137fd2af89
Add declaration of ia64_running_in_simulator().
2001-09-22 19:50:54 +00:00
Doug Rabson
b73ef645ae
* Turn off memory descriptor debugging - its served its purpose.
...
* Don't get confused when memory regions don't lie on page boundaries -
remember our page size is typically larger than the firmware's page size.
* Add a function ia64_running_in_simulator() which is intended to detect
whether the kernel is running in SKI or on real hardware.
2001-09-22 19:50:12 +00:00
Doug Rabson
0d1943c9e3
Remove a redundant stop.
2001-09-22 19:46:41 +00:00
Doug Rabson
2290da8ce5
Fix a warning and make sure we flush the cache after writing an
...
instruction bundle otherwise the CPU won't see the changed bundle.
2001-09-21 10:10:15 +00:00
Doug Rabson
85d6f9f7d3
Add ia64_fc().
2001-09-21 10:09:27 +00:00
Doug Rabson
4ef1beb1ea
If two @fptr relocations refer to the same symbol, use the same fptr
...
structure to resolve them. This is necessary to allow code to compare
function pointers.
2001-09-20 16:32:54 +00:00
Doug Rabson
0fda7b2b10
Don't clear the single-step bit after a trap - leave it up to the
...
debugger. The code was broken anyway - it clear every bit *except* the
single-step bit (oops).
2001-09-20 16:30:48 +00:00
Doug Rabson
1e59a2270d
The second instruction in an MLX bundle is slot one, not slot two, even
...
though the actual opcode is stored in the value in slot two.
2001-09-20 16:29:30 +00:00
Doug Rabson
fea451577e
Tidy.
2001-09-20 15:03:28 +00:00
Doug Rabson
3890444abd
Don't include NFS headers. I have no idea why they were here in the first
...
place - NFS has no assembler in it.
2001-09-20 11:02:18 +00:00
Peter Wemm
55f25b39e9
Replicate a change from alpha/genassym.c to other arches. This should
...
fix nfs-related build breakage.
2001-09-20 02:49:59 +00:00
Peter Wemm
eb25edbda3
Cleanup and split of nfs client and server code.
...
This builds on the top of several repo-copies.
2001-09-18 23:32:09 +00:00
John Baldwin
fdca1cb1ef
Whitespace fixes.
2001-09-18 21:52:15 +00:00
John Baldwin
fd54558a83
- If we ever do the per-cpu KTR stuff, the index won't be volatile as it
...
will be private to each CPU.
- Re-style(9) the globaldata structures. There really needs to be a MI
struct pcpu that has a MD struct mdpcpu member at some point.
2001-09-18 21:46:26 +00:00
Doug Rabson
a5e2a508c7
Add ia64_get_cpuid().
2001-09-18 15:21:18 +00:00
Doug Rabson
f0e4f240e7
Flesh out identifycpu().
2001-09-18 13:26:30 +00:00
Doug Rabson
a1fdf50c01
Rearrange so we search for I/O port space as early as possible (i.e.
...
before console probing). Also fix a confusion between EFI's page size
which is fixed at 4096 and our own page size which is variable at compile
time.
2001-09-15 18:31:49 +00:00
Doug Rabson
56f6eed759
Avoid the region used for thread0's trapframe when setting up the stack
...
for ia64_init. If we use this area for ia64_init's stack, it ends up
containing garbage which causes cpu_fork to die horribly later.
2001-09-15 18:23:51 +00:00
Doug Rabson
f544a5b837
Use the MI console code to initialise the console.
2001-09-15 15:31:59 +00:00
Doug Rabson
91a8883e5b
Implement inx() and outx() functions for accessing I/O ports.
2001-09-15 12:30:56 +00:00
Doug Rabson
749520911b
Add ia64_mf_a() which executes an mf.a instruction.
2001-09-15 12:30:19 +00:00
Doug Rabson
3e59bb90d6
* Use Intel's EFI headers instead of home-grown ones.
...
* Use the bootinfo's memory map if present instead of hard-coding SKI's
memory map.
* Record the location of the I/O Port Space if present in the memory map.
2001-09-15 12:29:46 +00:00
Doug Rabson
3a0b4f259c
Fill out some gaps in ia64 DDB support. This involves generalising DDB's
...
breakpoint handling slightly to cope with the fact that ia64 instructions
are not located on byte boundaries.
2001-09-15 11:06:07 +00:00
Doug Rabson
3a1c20e821
Sync the PCI NIC sections with i386.
2001-09-15 09:09:13 +00:00
Doug Rabson
0b02d706db
* Enable dynamically linked kernel. This involves adding a self-relocator
...
to locore to process the @fptr relocations in the dynamic executable.
* Don't initialise the timer until *after* we install the timecounter to
avoid a race between timecounter initialisation and hardclock.
* Tidy up bootinfo somewhat including adding sanity checks for when the
kernel is loaded without a recognisable bootinfo.
2001-09-13 12:39:15 +00:00
Julian Elischer
b40ce4165d
KSE Milestone 2
...
Note ALL MODULES MUST BE RECOMPILED
make the kernel aware that there are smaller units of scheduling than the
process. (but only allow one thread per process at this time).
This is functionally equivalent to teh previousl -current except
that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org , dillon@freebsd.org
X-MFC after: ha ha ha ha
2001-09-12 08:38:13 +00:00
Marcel Moolenaar
68a7335b3f
o Fix struct ssc_time and enable the SSC call to get the RTC.
...
o Print a message that the TODR is not set in sscclock_set.
2001-09-12 03:31:26 +00:00
Doug Rabson
e763b778c8
* Make a start on a realistic definition for bootinfo.
...
* Switch to proc0's stack and backing store before calling ia64_init
so that we don't rely on the loader's stack at all.
* Change kernel entry point name from locorestart to __start.
2001-09-10 13:40:00 +00:00
Peter Wemm
eb30c1c0b9
Rip some well duplicated code out of cpu_wait() and cpu_exit() and move
...
it to the MI area. KSE touched cpu_wait() which had the same change
replicated five ways for each platform. Now it can just do it once.
The only MD parts seemed to be dealing with fpu state cleanup and things
like vm86 cleanup on x86. The rest was identical.
XXX: ia64 and powerpc did not have cpu_throw(), so I've put a functional
stub in place.
Reviewed by: jake, tmm, dillon
2001-09-10 04:28:58 +00:00
Peter Wemm
660c5377fd
Missing part of dillon's coredump commit. cpu_coredump() was still
...
passing IO_NODELOCKED to vn_rdwr(), this would cause operations on the
unlocked core vnode and softupdates nastiness if an a.out binary cored.
2001-09-08 22:18:58 +00:00
Doug Rabson
d452f533f7
Add options to select between 4k, 8k and 16k page sizes on ia64. The
...
default is now 8k.
2001-09-07 11:03:39 +00:00