dfr
d04bb727c3
Factor out PTE and related definitions from pmap.h - they are useful in
...
the loader.
2001-09-24 19:27:38 +00:00
dfr
fc598410d3
Fix a few comment typos from the last commit.
2001-09-24 17:38:58 +00:00
dfr
f08f7cc358
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
obrien
94003d0787
+ Fix misplacement of `txp'
...
+ Document our -CURRENT debugging bits
2001-09-24 03:23:48 +00:00
dfr
a6f6159dea
Add definitions of SAL System Table.
2001-09-23 10:26:20 +00:00
dfr
46dc7c8aa3
Don't activate the ssc console unless we are running in SKI.
2001-09-22 19:52:02 +00:00
dfr
510b2f8636
Add implementations of readx() and writex().
2001-09-22 19:51:18 +00:00
dfr
081194dc6f
Add declaration of ia64_running_in_simulator().
2001-09-22 19:50:54 +00:00
dfr
4c2efef4f7
* 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
dfr
934b85d282
Remove a redundant stop.
2001-09-22 19:46:41 +00:00
dfr
ced685c13a
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
dfr
0b358c6489
Add ia64_fc().
2001-09-21 10:09:27 +00:00
dfr
24ca38f02b
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
dfr
02a6cf7d82
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
dfr
c01c5c49d5
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
dfr
8c1dda681a
Tidy.
2001-09-20 15:03:28 +00:00
dfr
f93278905f
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
19afa3df70
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
85182a8d78
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
jhb
814bb9623f
Whitespace fixes.
2001-09-18 21:52:15 +00:00
jhb
0fc343f1d8
- 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
dfr
915ac6e38a
Add ia64_get_cpuid().
2001-09-18 15:21:18 +00:00
dfr
60e38e9b01
Flesh out identifycpu().
2001-09-18 13:26:30 +00:00
dfr
4f7d5730b0
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
dfr
d7abcfbcae
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
dfr
0593e3e8a0
Use the MI console code to initialise the console.
2001-09-15 15:31:59 +00:00
dfr
983e3898da
Implement inx() and outx() functions for accessing I/O ports.
2001-09-15 12:30:56 +00:00
dfr
2047d2151b
Add ia64_mf_a() which executes an mf.a instruction.
2001-09-15 12:30:19 +00:00
dfr
f270e439ef
* 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
dfr
01ee11f408
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
dfr
dc5f37d985
Sync the PCI NIC sections with i386.
2001-09-15 09:09:13 +00:00
dfr
7b40715e82
* 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
5596676e6c
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
7bf6a0b91b
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
dfr
ade9f272a1
* 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
96b9a12bd2
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
b3b3a6b1c9
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
dfr
c981ef049f
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
dfr
5cd3ebd8eb
Typo in comment.
2001-09-07 11:01:39 +00:00
dfr
90f6eac893
* Track ref/mod information properly when a mapping changes.
...
* Fix a panic in pmap_remove() for a non-current pmap.
2001-09-07 11:00:21 +00:00
dfr
db9d3370ef
Remove old setjmp/longjmp stubs.
2001-09-07 10:59:05 +00:00
jhb
054237d0be
Call sendsig() with the proc lock held and return with it held.
2001-09-06 22:20:41 +00:00
dfr
a8e78b194e
Add struct tags to avoid warnings in kernel code.
2001-09-06 18:11:16 +00:00
obrien
34ad4938d7
style(9) the structure definitions.
2001-09-05 01:36:46 +00:00
peter
119d201aab
Nuke #if 0'ed "setredzone()" stub. We never used it, and probably
...
never will. I've implemented an optional redzone as part of the KSE
upage breakup.
2001-09-04 08:36:46 +00:00
dfr
6315b454a5
Add a working version of setjmp/longjmp.
...
Obtained from: Intel's EFI toolkit.
2001-09-03 13:54:50 +00:00
peter
1752fcc466
Since we're cross compiling from x86, ignore the x86 CPUTYPE by default.
2001-09-03 07:58:32 +00:00
peter
5e41b2c07e
Dont conflict with sysctl debug.mddebug
2001-09-03 04:49:19 +00:00
peter
716d54a6eb
Sync with i386 / alpha. Whitespace unindent / style prep for kse.
2001-09-02 10:07:09 +00:00
peter
d280926250
Merge from i386: various cleanups including moving the map calculations
...
to MI code. This gets ia64 to compile again.
2001-09-02 07:47:47 +00:00