Commit Graph

1035 Commits

Author SHA1 Message Date
sommerfeld
851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
itojun
efa2b7073c make mbstate_t bigger (32 -> 128 bytes).
XXX if you have libc after citrus locale import, please recompile libc,
and your applications that use mbstate_t (rather rare).  really sorry
for the mess.
2000-12-26 10:35:28 +00:00
jdolecek
e9e91a0fb5 split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads
move other random signal stuff from struct proc to struct sigctx

This addresses kern/10981 by Matthew Orgass.
2000-12-22 22:58:52 +00:00
eeh
4c3121006d Use an extent map for I/O addresses instead of a base so addresses can
be both allocated and freed.
2000-12-21 22:19:21 +00:00
itojun
823498203f populate _BSD_MBSTATE_T_. add warning regarding to rune_t. 2000-12-21 06:03:47 +00:00
mrg
43251365b4 com_attach_subr() prints the newline for us. 2000-12-20 16:19:09 +00:00
thorpej
2563d39a6e This is long since obsolete. 2000-12-19 18:12:48 +00:00
mrg
3f647a126c clockattach(): print the hostid as a 32-bit value to avoid 64-bit sign extension. 2000-12-19 05:09:06 +00:00
mrg
32b8108b06 s/%qx/%llx/ 2000-12-18 15:57:15 +00:00
mrg
dd2f1cdf71 - rename 32bit USRSTACK32, and define USRSTACK to that if !__arch64__, so that
64bit code can see USRSTACK32
- bump the limits
2000-12-18 14:48:26 +00:00
pk
c421b5eb92 Pull over revision 1.23 from sparc:
Fake a label only if it appears to be blank, and if so use RAW_PART
	instead of 0.
2000-12-17 22:39:18 +00:00
pk
065dbd3604 Make pointer formats work with a 32-bit compiler. 2000-12-17 21:54:20 +00:00
pk
51dca5ed7c Fix printf() pointer formats & make them work with a 32-bit compiler. 2000-12-17 21:43:54 +00:00
pk
4d082438e0 Literal %' in format string => %%' 2000-12-17 21:42:21 +00:00
pk
107489f7a1 Remove spurious `#define DEBUG' 2000-12-17 21:41:43 +00:00
jdolecek
cacec11253 delete obsolete comment 2000-12-17 15:52:39 +00:00
martin
ee0eb24c13 Don't include opt_*.h if compiling as LKM. 2000-12-14 10:24:42 +00:00
jdolecek
ca57e681bd g/c obsolete vtrace(2) stuff 2000-12-13 18:13:05 +00:00
eeh
ce7f4ef73f Don't use rwindow_save() since the stack has already been made COW. 2000-12-11 18:51:55 +00:00
eeh
264fbb89af Cleanup types in DEBUG printf()s. 2000-12-10 19:52:17 +00:00
eeh
40638d9f35 Zero proc 0 stack pages so the pcb is cleared out before use. 2000-12-10 19:33:02 +00:00
martin
d9d7c42e0c Remove esp specific function from ddb when esp @ sbus is not included
in the kernel config. Makes compiling sbus-less kernels possible again.
2000-12-08 17:29:12 +00:00
eeh
873101cd21 Fix a bug in rwindow_save() that always wrote out window 0 in 64-bit
code and caused problems with ksh.
2000-12-07 01:05:55 +00:00
eeh
297dba1163 Add a call to db_esp() and make `mach phys /u' read user addresses. 2000-12-07 01:03:17 +00:00
eeh
660d1fc6c7 Fixup calculating where fpstate should be saved in the signal trampoline
code so it doesn't overwrite something important like the registers.
2000-12-07 00:59:42 +00:00
eeh
a5a8c50c48 Initialize pcb_lastcall so db_dump_pcb() will not bomb on non-DEBUG kernels. 2000-12-07 00:53:29 +00:00
mrg
703ec39a02 fix warnings in DEBUG & DIAGNSTIC code. 2000-12-06 01:47:49 +00:00
fvdl
3de7a35dc2 More cast / format cleanup to make this compile cleanly in 32bit mode. 2000-12-04 20:40:07 +00:00
fvdl
b5f5b707ea Make gcc happy about casts. 2000-12-04 20:33:12 +00:00
fvdl
95ed1f82c4 Make gcc like a cast. 2000-12-04 20:29:34 +00:00
fvdl
2ccdc61f62 Avoid (safe) cast warnings. 2000-12-04 20:19:49 +00:00
fvdl
2c81c82473 Comment out caxsa, it's not used. Avoids 32 bit compile errors. 2000-12-04 20:14:05 +00:00
fvdl
42efb3639a Avoid a warning in bus_dmamap_load_uio by inserting a 'return 0' for
good measure in this unimplemented function.
2000-12-04 20:12:10 +00:00
eeh
c5080ee564 Fix uninitialized variable bug and code cleanup. 2000-12-04 17:26:41 +00:00
fvdl
2fb588e51d Warning police. Mostly useless format warnings. Switch Makefile for
kernel compiles to the warning flags that other ports also use.
2000-12-04 16:01:18 +00:00
mrg
247f2c42d7 Remove __BROKEN_CONFIG_UNIT_USAGE. (sync with sparc) 2000-12-04 09:56:56 +00:00
mrg
ac9988aef0 remove duplicate function prototypes. 2000-12-04 01:39:04 +00:00
fvdl
a21f36eeb2 Make softintr_establish prototype match other ports, avoiding compile
warnings.
2000-12-03 14:49:50 +00:00
fvdl
1f04bc7933 TRAPWIN is defined by default in trap.c, don't define it here. 2000-12-03 14:49:14 +00:00
mrg
3da40e83e7 const poison to avoid a warning. 2000-12-02 03:57:26 +00:00
eeh
bf3bbac849 Don't allow pmap_collect() to run on the kernel pmap since it will
undo the work of pmap_growkernel().
2000-12-01 17:17:29 +00:00
soren
66864e1f05 Removed increased BUFCACHE/BUFPAGES. 2000-11-27 08:55:41 +00:00
chs
0ac52aaf1d remove MD functions for printing vnodes and buffers since there are
MI versions now.
2000-11-21 16:34:52 +00:00
chs
c62d17a551 rationalize the use of b_flags for geteblk() buffers.
rather than assigning to the whole field, set or clear individual flags,
which implies that the B_BUSY and B_INVAL flags will remain set.
this allows us to make the assertion in brelse() that B_BUSY is set,
which is the purpose of all this.
2000-11-20 08:24:08 +00:00
mrg
5d04f7b69d update to reality. sync with GENERIC32. 2000-11-19 15:23:55 +00:00
mrg
1368967d8c fix some comments. 2000-11-19 15:22:51 +00:00
mrg
e97f9e9f7a use OpenFirmware, not prom version 0, operations. eeprom(8) works now. 2000-11-18 23:45:05 +00:00
mrg
a2ea64e265 sync with sparc port. add support for OF_setprop(), OF_nextprop(),
OF_interpret() and OF_milliseconds().
2000-11-18 23:43:06 +00:00
mrg
d6d4159b1a s/register// 2000-11-18 03:52:50 +00:00
mrg
40095eb6a1 struct pcb's lastcall is const char * 2000-11-18 03:51:14 +00:00
mrg
0485f611f1 remove dead debugging code. 2000-11-18 03:49:38 +00:00
mrg
215d0d2dcd pull over from sparc port's mem.c:
>revision 1.26
>date: 2000/11/13 15:31:44;  author: pk;  state: Exp;  lines: +10 -1
>Detect "EOF" conditions on the memory-special files.
2000-11-17 23:18:53 +00:00
eeh
efaf3dbb74 Remove unnecessary header file that causes linker issues. 2000-11-10 17:47:55 +00:00
eeh
132d16957c Clean up config and fix things so kbd.h is generated even w/no keyboard. 2000-11-10 16:05:40 +00:00
mrg
3ea4c67b6b remove unused variable 2000-11-10 11:57:26 +00:00
eeh
ccf7f1446f Fix ILP32 bug in probe_get(). 2000-11-09 00:35:02 +00:00
eeh
c3a041249b Enable clean up keyboard attach and make formatting prettier. 2000-11-09 00:06:47 +00:00
eeh
17b69d1833 Attach the sunkbd line discipline to zstty. 2000-11-09 00:02:54 +00:00
eeh
954a7b9824 Switch to sunkbd for both com and zstty. 2000-11-09 00:00:40 +00:00
eeh
71b0c155a0 Support for MI console magic framework. 2000-11-08 23:41:42 +00:00
eeh
052afce2a5 Use new MI console magic framework. 2000-11-08 23:40:31 +00:00
eeh
2b8da88d55 Remove debug printfs. 2000-11-08 23:24:12 +00:00
ad
e6be92ad99 Pull in dev/i2o/files.i2o. 2000-11-08 19:48:51 +00:00
eeh
b43f8c30e4 pmap_growkernel() needs to return the new end of kernel. 2000-11-02 00:24:05 +00:00
eeh
23a0c49039 Adapt to the new line discipline scheme. 2000-11-02 00:21:03 +00:00
eeh
b19423f823 Pass along bus frequency. 2000-11-01 06:19:59 +00:00
eeh
400b7c8ee0 Add pmap_growkernel(). 2000-10-29 23:30:35 +00:00
eeh
9746513520 Add bpp and make com match the sparc port. 2000-10-28 23:19:31 +00:00
pk
bee12f6a67 Restore revision 1.102.
I hope it sticks this time..
2000-10-22 21:28:27 +00:00
eeh
ad3ec5f6af Fix hang in 32-bit kernels caused by relocation of KERNBASE. 2000-10-20 16:43:54 +00:00
mrg
cb17e80035 fix a comment. 2000-10-20 05:47:03 +00:00
mrg
82d7f3e331 #include <machine/sparc64.h> for prom_printf() prototype. 2000-10-20 05:32:35 +00:00
mrg
f39b5cf92e wrap long lines. 2000-10-19 12:25:04 +00:00
mrg
bc4dd913e7 #if 0 unused code. 2000-10-19 05:44:39 +00:00
mrg
d66f9f3321 add a cast to fix a warning. 2000-10-19 05:38:35 +00:00
mrg
88c611ff12 - remove an unused variable
- in db_setpcb(), update 'struct proc *p' each loop iteration.  (found by
gcc warning).
2000-10-19 05:30:29 +00:00
mrg
1191037add remove unneeded cast. 2000-10-19 05:28:50 +00:00
jdolecek
2fa1ccfa6e bootpath_build(): implement slighly more clever algorith to find boot
flags in the bootpath: only treat the rest as boot flags if the '-'
follows whitespace (space or tab)

This should fix the "boot disk4 netbsd-20001004-RFHS8036" lossage
Hubert Feyer pointed out in private e-mail.

Tested by: jdolecek (userland version)
Reviewed by: eeh
2000-10-04 23:05:08 +00:00
eeh
6638fc7c06 Fix interrupt lossage problem and some cosmetic changes. 2000-10-04 22:18:25 +00:00
pk
d26132e2be cpu_initialize: global registers aren't preserved across calls to
prom_printf(), so replace %g3 with %l7 (which isn't used despite
the `usage' comment).

Also, clean up white-space turds.
2000-10-01 19:13:16 +00:00
eeh
8e5075103f This seems to fix the interrupt lossage of non-debug kernels. 2000-09-29 17:02:38 +00:00
eeh
15eaba378c Only call pcons_dopoll() if there's a pcons device. 2000-09-29 00:27:13 +00:00
eeh
5c98160d2b Separate user and kernel address spaces and move the kernel down to
0x0000000001000000 -- 0x00000000f0000000, below the PROM where the
PROM thinks we should be.
2000-09-28 19:56:13 +00:00
eeh
d21456569e Fix INTR_SETUP() to properly distinguish kernel and user addresses.
Make microtime() return the correct time on %tick machines.

Re-enable debug stuff in dostart for now to detect kernel mapping issues.
2000-09-28 19:27:49 +00:00
eeh
1090c8a9cf probeget() actually handles 64-bit values so fix the prototype. 2000-09-28 19:16:35 +00:00
eeh
0ca74ba0d8 Fix the `trap type 0x10' problem. Apparently, something has changed and
now makes use of lockmgr().  Since we broke into the debugger from an interrupt,
we don't have a curproc, so when lockmgr() tries to find our PID it barfs,
causing another break into DDB which then calls the mysterious code that
calls lockmgr() again.....

So set doing_shutdown while we're in DDB so lockmgr ignores locks.
2000-09-28 18:54:39 +00:00
eeh
6776b270ae Remove unneeded cache flushes. 2000-09-28 15:47:27 +00:00
eeh
a6205d98a9 Poll pcons for input on softints in case someone want to break into the debugger. 2000-09-28 15:38:49 +00:00
eeh
abeb734bb9 Cannot distinguish kernel and user addresses any more. 2000-09-28 15:34:38 +00:00
eeh
5b577f0c8f Add a command that locates the page structure corresponding to a pa. 2000-09-28 15:32:36 +00:00
eeh
3a2599ebec Don't take ref/mod faults on DMA segments mapped in to the kernel. 2000-09-28 15:28:43 +00:00
eeh
a5a8082482 Use prom_printf() for debugging instead of printf() since the console may
not be functional.
2000-09-28 15:23:06 +00:00
eeh
25ce73d7b3 Fix bad path specifier for finding fpu sources. 2000-09-28 15:19:56 +00:00
eeh
2b673aaef8 Add -V and -D bootflags to print out debug info in pmap_bootstrap() and
a fix for non-DEBUG kernels.
2000-09-27 18:20:33 +00:00
eeh
8a0dc83e07 Fix for prev (define fl). 2000-09-27 18:16:01 +00:00
eeh
008eadbac6 UltraSPARC machines don't have FP queues. Don't let userland code set them.
It tends to break the FPU emulation code.
2000-09-26 22:05:50 +00:00
pk
2e79bfed2d Missing `#if defined(MULTIPROCESSOR) || defined(LOCKDEBUG)' 2000-09-25 21:02:38 +00:00
jdolecek
b1f94e26ab don't specify number of ptys if >= 16 (current default initial number)
pty comments: normalize and g/c what is no longer relevant
2000-09-24 15:59:26 +00:00
jdolecek
49c105ffdb add new macro BOOT_FLAG() (defined in <sys/boot_flag.h>) - this
maps standard boot flags to corresponding RB_* values
use BOOT_FLAG() in port's MD code as appropriate

as discussed on tech-kern, add new boot flags -v, -q for booting
verbosely or quietly, and corresponding AB_VERBOSE/AB_QUIET
boot flags; also add FreeBSD-compatible bootverbose macro and
NetBSD-specific bootquiet macro

for hpcmips, use new bootverbose instead of it's own hpcmips_verbose

Tested on i386, and to limited extend (compile of affected files) also for
mvme68k, hp300, luna68k, sun3.
2000-09-24 12:32:31 +00:00
eeh
ece5d6d3f0 Define __BUS_SPACE_HAS_STREAM_METHODS now we have them. 2000-09-22 21:01:55 +00:00
eeh
57ebc2eb53 Remove some unsupported devices and add support for the `com' device. 2000-09-21 23:46:49 +00:00
eeh
e3a80e9511 Add support for the `com' driver and Sun Keyboard/Mouse line disciplines. 2000-09-21 23:44:06 +00:00
eeh
805ffd07cc Sun Keyboard/Mouse line discipline support. 2000-09-21 23:14:40 +00:00
eeh
ac3f296768 Guts of the Sun Keyboard/Mouse line disciplines.
N.B. They don't recognize L1-A yet.
2000-09-21 22:25:08 +00:00
eeh
0596b6b6dc Make the improved %tick changes work with machines that use the counter-timer
for the clock.
2000-09-17 19:23:37 +00:00
eeh
903720d945 Add bus_space*stream*() methods. I hope they work. 2000-09-16 14:07:58 +00:00
thorpej
72a24b4eae Add an align argument to uvm_map() and some callers of that
routine.  Works similarly fto pmap_prefer(), but allows callers
to specify a minimum power-of-two alignment of the region.
How we ever got along without this for so long is beyond me.
2000-09-13 15:00:15 +00:00
eeh
022746fd14 This really does seem to fix the ref/mod issues. (Yeah, like were did we hear that before?) 2000-09-12 19:42:26 +00:00
eeh
5be9d50b09 Fix new version of microtime. 2000-09-12 04:16:29 +00:00
eeh
cc7f95986b (Hopefully) fix clock skew on machines that us %tick for the clock (UIIi). 2000-09-11 23:29:31 +00:00
eeh
870af94ef7 Add locking to pmap operations and support multiple physical memory segments. 2000-09-11 23:27:22 +00:00
eeh
cb2350a90d Don't take protection faults on I/O mappings. 2000-09-11 22:37:34 +00:00
eeh
df698d172e Fix some sign extension bugs. 2000-09-11 22:36:35 +00:00
eeh
6c00d395e1 Don't take protection faults on I/O pages. 2000-09-11 22:34:02 +00:00
eeh
2f28900566 Make sbus_wenable() and ebus_wenable() work on 32-bit kernels. 2000-09-09 23:29:06 +00:00
eeh
0d01e04003 Add support for write protecting clock registers. 2000-09-01 19:04:49 +00:00
eeh
67ca76fd68 Use casx instead of stx to change entries in the page table trees. 2000-08-31 20:14:55 +00:00
eeh
65f1bb68b5 Add support for multiple memory segments. 2000-08-31 19:12:45 +00:00
eeh
a17d71cd4b Fix register sheduling bug in st?a() routines and add casxa(). 2000-08-31 19:08:47 +00:00
soren
55dbdb6091 Typo. 2000-08-30 14:59:48 +00:00
eeh
bbede65f5b Fix E250 identification. 2000-08-28 18:01:23 +00:00
eeh
a0f2ab32f7 Make 64-bit clean. 2000-08-26 16:02:06 +00:00
pk
baa6bfe332 The `fb' device is optional. 2000-08-25 08:12:49 +00:00
thorpej
4db6fc7542 Make need_resched() take a "struct cpu_info *" argument. This
causes gives a primitive form of processor affinity.  Its use in
roundrobin() still needs some work.
2000-08-25 01:04:06 +00:00
eeh
61197aa4f0 Add workaround for E250s. 2000-08-24 22:00:04 +00:00
nathanw
5127aa189d In fdioctl(), allocate fd_formb dynamically when needed, rather than on
the stack, and remove the no-longer-necessary PHOLD()/PRELE() calls
in fdformat().

(This eliminates 1/3 of the instances of PHOLD()/PRELE() in the kernel code.)

XXX We still have too many mostly-redundant floppy drivers.
2000-08-24 20:04:28 +00:00
eeh
5ca48b896d Update the scheduler to the new locking scheme. 2000-08-23 21:35:56 +00:00
pk
7c10808744 Use common fb.c from sys/dev/sun. 2000-08-23 13:41:58 +00:00
pk
194a6c2d97 remove pfourreg.h. 2000-08-23 12:08:16 +00:00
pk
408d2f01d0 Brooktree DAC support now lives in sys/dev/sun. 2000-08-23 10:08:48 +00:00
pk
837ef2bae6 This driver is now in sys/dev/sbus. 2000-08-23 10:07:46 +00:00
pk
aa81eb0f8b This file is now in sys/dev/sun. 2000-08-23 10:07:25 +00:00
pk
c85ada8053 These drivers are now in sys/dev/sun 2000-08-23 10:05:46 +00:00
pk
317a570728 These devices will never be found on sun4u machines. 2000-08-22 21:43:35 +00:00
pk
1e1790859a Pull in sys/dev/sun/files.sun.
Remove driver declarations that are now in /sys/dev/{sbus,sun}
2000-08-22 21:35:45 +00:00
thorpej
58e7a6954b Add spllock(). See spl(9) for details. 2000-08-22 19:46:26 +00:00
thorpej
23a7f255d4 Make sure we provide splsched() as described in spl(9). 2000-08-21 02:06:31 +00:00
mrg
b74059e5cf move everything to arch/sparc/stand; leave the Makefile behind. 2000-08-20 14:53:19 +00:00
mrg
651a58c846 add SOFTDEP 2000-08-20 14:51:56 +00:00
pk
814e226e9d Fix two printf formats: %ld' -> %d'. 2000-08-16 11:29:42 +00:00
mrg
286b5c3fbf backout previous; unintentional. 2000-08-16 08:21:52 +00:00
mrg
ecd972e9cb include the sparc loadfile_machdep.h as-is; we can blow this header away
completely later.
2000-08-16 08:17:49 +00:00
itojun
85dda25e94 move "options PULLDOWN_TEST" into sys/sys/mbuf.h (in #ifdef _KERNEL),
as it is no wthe default setting for everyone.

the reason we still use the name "PULLDOWN_TEST" while it is now default:
kame code sharing.
2000-08-13 01:31:15 +00:00
eeh
7c49c54392 Fix signal delivery. 2000-08-10 18:33:47 +00:00
mrg
b8dfc193d0 merged with the sparc installboot 2000-08-10 12:18:14 +00:00
tshiozak
51a53de0d5 Preparation for the future introduction of multibyte locale.
- MB_LEN_MAX is increased to 32.
 - To ensure binary compatibility for old executables
   under multibyte locale, versioned setlocale is added.
 - __mb_len_cur definision is added in setlocale.c
   and enable it in stdlib.h .
   It is also important for multibyte locale stuffs,
   but I just forgot.
2000-08-08 22:31:13 +00:00
tv
91537bce4a sizeof(fmtstring) + 8 wasn't enough for the string; that won't cope with the
printed version.  Make a little more room for the bitmask_snprintf() call.
2000-08-08 19:59:41 +00:00
tv
0b7e5ad5a0 %b -> bitmask_snprintf() 2000-08-07 18:46:30 +00:00
mrg
44b648a013 make "make depend" work. 2000-08-07 13:50:55 +00:00
nathanw
e8b50cf289 Use the same idiom for iterating over allproc as everywhere else in the kernel. 2000-08-02 22:47:44 +00:00