Commit Graph

22671 Commits

Author SHA1 Message Date
pk 862a955e34 Re-arrange code to flush physically indexed caches:
* replace `flush by line' function with a `flush by page' funtion, which
  also takes an argument to indicate that write-back caches need not
  validate its backing memory.

* use this function when allocating page table memory to flush the cache
  before mapping it into kernel virtual space.

* also use it in pmap_{zero,copy}_page(), so we can safely use non-cacheable
  access in there.
2000-06-05 20:38:24 +00:00
tsutsui 8c4d1bf1f9 Adapt MI ncr53c9x changes. 2000-06-05 15:08:00 +00:00
joda 9e1f399ada fix `#scsibus at siop?' line 2000-06-05 13:34:13 +00:00
nisimura 4371d91433 Have MI ncr53c9x_attach() the 2nd and 3rd arguments for scsipi_adater
and scsipi_device respectively, with size reduction of ncr53c9x_softc.
Specifying NULL instructs the driver to use default adapter and default
device codes. Every target port has ncr53c9x_attach(sc, NULL, NULL) anyway.
2000-06-05 07:59:50 +00:00
matt 661884208a add support for counting soft interrupts 2000-06-05 03:45:23 +00:00
matt 2f85fe7adb Adjust to new evcnt stuff. 2000-06-05 00:09:17 +00:00
gmcgarry 11382b8021 Add APM_ALLOW_BOGUS_SEGMENTS - allow the use of data segments which
are in unexpected locations.
2000-06-04 22:36:27 +00:00
mycroft 43a543fa88 Implement CLKF_INTR(), to count interrupt time separately. 2000-06-04 21:27:38 +00:00
matt ac621687a3 Add coff_machdep.h (now need due to the recent exec_coff changes). 2000-06-04 21:06:18 +00:00
ragge 1320a4106c Adopt to latest mba/hp changes. 2000-06-04 20:04:21 +00:00
ragge 79e7f9966d Adapt to mba changes. Fix assembler buf (EDIV uses 64-bit arg, not 32). 2000-06-04 19:58:17 +00:00
matt a8a863d4ea more cleanup. use __builtin_frame_address(0) instead of our funky
FRAMEOFFSET macro.  define an interrupt call frame and use that directly
instead of some magic offsets.  Make boot autoconf.o use the current
reality.
2000-06-04 19:30:14 +00:00
cgd cffb580806 Implement the more flexiable `evcnt' interface as discussed (briefly) on
tech-kern and now documented in evcnt(9).
2000-06-04 19:14:14 +00:00
matt e2293f4ad0 Add a comment 2000-06-04 19:03:27 +00:00
ragge c46119030a Forward declaration of `struct proc'. 2000-06-04 18:27:39 +00:00
matt f08ff1ad2d use PR_IPL instead of 0x12.
align entries of various symbols.
2000-06-04 18:13:06 +00:00
thorpej 1c8cd252f9 ANSI'ify. 2000-06-04 18:09:36 +00:00
ragge db7db1456e Remove home-grown interrupt vector handler.
Bus_space'ify; needed to get RH11 working. Still much more to do, though.
2000-06-04 18:04:38 +00:00
ragge d7a5a63645 Changes to sbi_attach_args. (and some cleanup) 2000-06-04 18:02:35 +00:00
ragge 1838716f7b Remove some unneeded code. (and cleanup). 2000-06-04 18:00:48 +00:00
ragge 82e0b5f7db Changes of sbi_attach_args. (and cleanup) 2000-06-04 17:59:50 +00:00
ragge 1e19df4bfd Clean up the sbi_attach_args struct and put in tag/handle.
Move a nice macro to scb.h.
2000-06-04 17:58:19 +00:00
thorpej 6addd3ac42 Nuke a couple of unnecessary IMBs. In these cases, the mappings weren't
hanging, only perhaps the permissions being lowered, in which case the
I-stream does not need to be sync'd.
2000-06-04 17:39:12 +00:00
thorpej a39439b400 ANSI'ify. 2000-06-04 16:55:57 +00:00
mycroft 9dcdff8f25 Add stubs for PE/COFF. 2000-06-04 16:26:11 +00:00
mycroft e9deffe0bf Move a bunch of the COFF definitions into exec_coff.h, so they can be used by
other code.   XXX Not tested on SH3 yet.
2000-06-04 16:23:59 +00:00
tsubai 0552fd6de2 Dump fp regs into core file. 2000-06-04 12:12:13 +00:00
tsubai 5257d23759 Add fpreg area in struct md_coredump. 2000-06-04 11:57:17 +00:00
tsubai 86ac32df3d Add PT_GETFPREGS and PT_SETFPREGS support. 2000-06-04 09:30:43 +00:00
matt 0bd304e528 More event counter stuff. Plus a little cruft cleanup while doing it. 2000-06-04 06:16:53 +00:00
thorpej e8d65fec30 ANSI'ify function declarations. 2000-06-04 05:27:45 +00:00
thorpej 70dc4d8718 Un-__P'ify kernel prototypes. 2000-06-04 05:23:18 +00:00
matt 713121e8c4 Nuke it. It's in dev/qbus now... 2000-06-04 04:48:34 +00:00
takemura 1a710b9899 Bugfix and a little improvement for trouble shooting.
- BUGFIX: pbsdboot1 ignores Yes for 'Are you sure ?' dialog box.
  - display status which indicate how much loading sequence progress.
  - add debugging log function.
2000-06-04 04:30:48 +00:00
matt 078c7563c2 newer version exists in dev/qbus. nuke this one. 2000-06-04 04:19:57 +00:00
matt 061896a992 now in dev/qbus so nuke this version. 2000-06-04 04:16:58 +00:00
thorpej df4a5a7f43 Increment an interrupt depth counter in non-clock interrupt cases
so that we can get time spent in interrupt statistics.
2000-06-04 03:40:03 +00:00
matt 7c24069048 Add extra argument to scb_vecalloc (a struct evcnt *)
Move ivec_dsp from trap.h to scb.h
Add interrupt counting to asc, le, ze, ncr, dz interrupts.
add common support for counting interrupts to cnm_idisp so
it can be done very efficiently.
2000-06-04 02:19:24 +00:00
thorpej cd423732b8 - Clean up clock interrupt code a bit, and provide a CPU_IS_PRIMARY()
macro in the MULTIPROCESSOR case (hardclock() wants it).
- Implement __GENERIC_SOFT_INTERRUPTS, and redefine the legacy
  software interrupts in terms of it.  Garbage-collect setsoftserial().
2000-06-03 20:47:36 +00:00
thorpej 0e2f894851 Provide a CPU_IS_PRIMARY() macro in the MULTIPROCESSOR case. 2000-06-03 20:43:28 +00:00
fvdl d1d025652d Revert previous change until the problem it has has been analyzed. 2000-06-03 17:33:25 +00:00
matt 547f87cded fix arguments to get_device. 2000-06-03 16:48:59 +00:00
thorpej be636036f8 Err, actually, print "21264A", not "EV67". 2000-06-03 14:13:42 +00:00
thorpej d42ef058b5 Recognize PCA57 and EV67. 2000-06-03 14:12:54 +00:00
thorpej 392948ced8 Add EV57 and EV67 processor variants.
cvs: ----------------------------------------------------------------------
2000-06-03 14:12:28 +00:00
shin 4a71a2a50f delete unnecessary 'extern ...' line. 2000-06-03 13:16:02 +00:00
pk 630ec72e5d Make sure to have the cache info before allocating the global cpu_info
virtual addresses.
2000-06-03 09:56:35 +00:00
takemura f0e427d05a Add platid, VADEM CLIO C-1000 and C1050.
Note: CLIO C-1000 is identical with SHARP Tripad PV6000.
2000-06-03 08:00:42 +00:00
nisimura de01642cac Use bus_dma(9) to instruct IOASIC DMA to load transferring addresses,
eliminating MIPS cache machinary exposure here.
2000-06-03 07:55:17 +00:00
eeh 03228642f7 Use all 64 address bits in ld*a()/st*a() macros so physical device addresses
work.  (Also add some bus_space_*() debug hooks).
2000-06-02 22:56:32 +00:00
matt baaa1154d5 no need to raise ipl since the definition of softintr_schedule is that
it's from at or above softipl.
2000-06-02 22:14:10 +00:00
cgd 0b270a9dfb booted_partition, not booted_parition... 2000-06-02 22:09:02 +00:00
matt 34a96c661b replace spl4 with splconsmedia 2000-06-02 21:51:46 +00:00
matt d278b1da45 Add IPL_* codes.
Add other codes for struct references.
Add softintr framework for IPL_SOFTNET and IPL_SOFTSERIAL.
General cleanup of .s files replacing hardcoded structure offsets with
symbolic ones.
2000-06-02 21:51:15 +00:00
matt 83a385c230 use splsoftddb() instead of hardcoding the ipl. 2000-06-02 21:49:06 +00:00
matt b8cccfafd8 Move spl macros from <machine/param.h> to <machine/intr.h>
Fix botch on my part and make the IPL_* match reality on VAX.
Redefine spl macro using the symbolic IPL_ instead of being hardcoded.
Move schedsoftnet, schedsoftclock from <machine/cpu.h> to <machine/intr.h>
Add a _setsirr macro for schedsoft*.
Add softintr function and framework.
2000-06-02 21:47:02 +00:00
matt fb6a3dfb64 Include offsets in vs_cpu register in comments. 2000-06-02 21:39:54 +00:00
mhitch 0e88f603fa Allow sii driver to be compiled with MI SCSI support. Now DS3100 users
can use MI SCSI!
2000-06-02 20:24:20 +00:00
mhitch 51ebf74f71 Add commented out entry for SII driver using MI SCSI.
Remove DS500-only comment for MI SCSI configuration include.
2000-06-02 20:23:13 +00:00
mhitch ccb1131a2d SII driver goes MI SCSI: add a scsibus at xsii. 2000-06-02 20:22:00 +00:00
mhitch ee0ecb0855 Coerce the SII driver into working with MI SCSI; convert scsipi_xfer info
into a ScsiCmd structure.
2000-06-02 20:20:29 +00:00
mhitch 44d42ae28b Add some glue so let the SII driver work with MI SCSI. 2000-06-02 20:16:51 +00:00
mhitch 61ec2107d7 Clear lun field in ScsiCmd (SII driver change to work with MI SCSI). 2000-06-02 20:15:40 +00:00
mhitch 8e72d1b6c4 Adjust to allow SII driver to work with MI SCSI. 2000-06-02 20:12:57 +00:00
thorpej 42e4f5279b Rearrange the code that loads pages into the VM system somewhat, and
use the ACPI memory map if provided by the boot program.
2000-06-02 18:33:16 +00:00
thorpej 90ef824c6d Actually define the ACPI memory map entry (bi_memmap_entry). 2000-06-02 18:27:47 +00:00
thorpej 7f1c64b910 Enable the code that passes the ACPI memory map to the kernel. 2000-06-02 18:26:10 +00:00
thorpej 7a5ce477cb When allocating new PT pages during early bootstrap (i.e. before
pmap_init() has finished), make sure to zero them.
2000-06-02 17:46:37 +00:00
eeh f2ab1eb70c db_stack_trace_cmd -> db_stack_trace_print 2000-06-02 15:38:32 +00:00
eeh 94084a33f8 New softintr interface. 2000-06-02 15:36:53 +00:00
shin 5d883bf68e make it compile with 'options SOFTFLOAT'. 2000-06-02 12:57:22 +00:00
pk aae0ef4cc1 In pmap_cpu_alloc(), allocate memory for the PTE tables in one sweep. 2000-06-02 10:43:59 +00:00
haya 7bb941e63d KNFied. 2000-06-02 08:41:13 +00:00
pk 65e4bcd9df Re-initialize `proc0.p_cpu' after allocating the global `cpu_info'
address for the boot cpu (XXX)
2000-06-02 08:12:29 +00:00
nisimura b52ffbdbe9 Make clarified SCSI transfer direction flag. sc_ispullup == pullup
data from SCSI device == DMA into main memory == datain.
2000-06-02 04:35:06 +00:00
thorpej 9851571246 Add support for the Alpha Processor, Inc. UP1000 EV6 system. 2000-06-01 20:30:28 +00:00
matt dca520b4a6 Add fixcoff so an obj dir can be created 2000-06-01 18:33:43 +00:00
matt 33763f10cf Fix a missing cases of devpp -> booted_device, partp -> booted_parition 2000-06-01 17:42:59 +00:00
matt 251afc5218 fix compile problem. 2000-06-01 17:35:42 +00:00
thorpej 79744e1563 Add a global patchable variable to enable debugging printfs in the
code that finds the boot device.
2000-06-01 17:12:38 +00:00
matt 9169d99f2a Don't pass booted_* to findroot/getdevice, access them via the globals.
Also, make findroot static.  This eliminates unneeded clearing of them
and make their use consistent among the ports.
2000-06-01 15:38:20 +00:00
soren 83887f5ad9 Add stand SUBDIR. 2000-06-01 15:20:12 +00:00
soren 2e62480619 Up the compression factor slightly. 2000-06-01 14:33:43 +00:00
soren 0c99ca516f Further cripple the GENERIC configuration. It seems that the firmware
limits are 1000000/2500000 bytes compressed/uncompressed. Sigh.
A boot loader would be nice.
2000-06-01 14:31:26 +00:00
soren 4796114fef Add ext2fs. 2000-06-01 14:21:44 +00:00
sommerfeld f732048856 Add missing newline 2000-06-01 13:50:48 +00:00
thorpej e75d8e3878 Forgot __KERNEL_RCSID(). 2000-06-01 05:49:36 +00:00
david 156fa3d59c Remove entry for non-existant driver that entered GENERIC in 1.289
and propagated to others when sync'd.
2000-06-01 04:24:00 +00:00
matt 7067d99bb7 Since booted_device/paration are globals, no need to init them to 0. 2000-06-01 04:16:37 +00:00
thorpej 5114577ab0 ISA DMA bounce buffer code, needed for a couple of SGMAP-less
systems, support for which will be hitting the tree soon.
2000-06-01 03:55:45 +00:00
thorpej 1cf70c169f Rearrange things a little so we can deal with systypes that aren't
densely packed.
2000-06-01 03:41:23 +00:00
thorpej 850f9b030b Typo. 2000-06-01 03:16:51 +00:00
thorpej c7f9211c18 Add placeholders for the support files for the Alpha Processor, Inc.
UP1000 EV6 system.
2000-06-01 03:16:19 +00:00
matt e488ca043b change void f() to void f(void) 2000-06-01 02:28:11 +00:00
matt c9aff328d9 Make booted_device global (and booted_parition for consitency).
Eliminate it from header files and other extern definitions.
2000-06-01 00:49:49 +00:00
cgd 47449a63d2 kill __P in these files. (I had to look at them anyway with an eye for
adding some protos... and adding them with __P seems wrong, but mixing
__P and not __P in the same file seems wrong too, so...)
2000-06-01 00:04:50 +00:00
matt 22635242c9 Eliminate booted_from. extern'ed booted_device (for raidframe). nothing
outside autoconf.c in sys/arch/vax needs to deal with booted_device).
2000-05-31 23:55:51 +00:00
matt 7a66d70655 add placeholders for the MicroVAX 3400 (ka640). 2000-05-31 23:53:27 +00:00
thorpej 370a47ecac Add a few systypes. 2000-05-31 18:29:17 +00:00
matt 168343c32d Make the ramdisk space the same as the ramdisk size being built in distrib 2000-05-31 17:35:59 +00:00
uch 53c8f0ac37 if defined PCIBIOS_ADDR_FIXUP, use more safety extent. 2000-05-31 16:39:56 +00:00
uch a99c8407ab don't destroy PCI bus space extent for rbus_machdep.c 2000-05-31 16:38:55 +00:00
mycroft d6f10e4b63 Use the frame pointer that matches the PC for the `trace/t' and panic (i.e.
have_addr==TRUE) cases.
2000-05-31 16:24:24 +00:00
he e486b03d73 Add handling of "make release". 2000-05-31 14:31:23 +00:00
nonaka 0e18211390 Fix maxpartitions, pointed out by NAKAJIMA Yoshihiro <nakayosh@kcn.ne.jp> 2000-05-31 14:28:26 +00:00
leo 4b3b8618df Fix some bugs in clkread(). These bugs caused strange time leaps. 2000-05-31 12:27:30 +00:00
pk 08d1e4928a Initialize `ci_self' on all CPUs.
Check `cpuinfo' pointers in mp_pause_cpus() & mp_resume_cpus()
2000-05-31 12:26:15 +00:00
pk 504ed6e58b Move switchexit() declaration in here. 2000-05-31 12:05:04 +00:00
pk 0985cc7d7e Remove obsolete function declarations.
Move switchexit() to cpu.h
2000-05-31 12:04:29 +00:00
pk fca92e02ab Fix a couple of typos. 2000-05-31 11:23:21 +00:00
thorpej 8d5520dccf - In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
- Fix a bug where all cpu_info structures except for the boot CPUs
  would exist at both a CPU-local VA (CPUINFO_VA) and a gloal VA;
  The boot CPU's existed only a CPUINFO_VA.
- Add a self-reference pointer to the cpu_info that references the
  global address in the MULTIPROCESSOR case.  Just allow it to reference
  the `local' VA in the single-processor case, as CPUINFO_VA is global
  enough when there's only one processor to care about.  Change curcpu()
  to return the global address.
2000-05-31 05:28:26 +00:00
thorpej 0d866249d4 - In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
- Always make curproc, fpcurproc, astpending, and want_resched per-CPU
  variables in struct cpu_info.  Restructure code accordingly, and trim
  a few instructions from a few spots in various places in locore.
2000-05-31 05:14:26 +00:00
thorpej 858becb7c2 In the MULTIPROCESSOR case, initialize p_cpu before a process is
marked SONPROC.
2000-05-31 05:10:54 +00:00
thorpej 8c2d00aaeb Add a comment about needing to initialize p_cpu when multiple
processors are supported.
2000-05-31 05:09:14 +00:00
thorpej 8871d8563a Add a comment on single-processor systems about p_cpu being initialized
by fork1().
2000-05-31 05:06:43 +00:00
mycroft 65ace9d5d8 Yessiree! It's softdep time! 2000-05-31 04:57:20 +00:00
nathanw 820847ee98 Update for qs -> sched_qs change.
Kernel compiles again.
2000-05-31 03:16:52 +00:00
nisimura 0e80e9cd4b Minor comment adjustments. cpu_switch has an argument of struct proc *. 2000-05-31 01:46:15 +00:00
nisimura 48ef457a5f Leave fpcurproc NULL for Vr4100/TX3900. It's solely for delayed lazy
FPA.  fp.S is free from fpcurproc references for SOFTFLOAT case.
2000-05-31 01:11:58 +00:00
nisimura 788c728dbd Replace fpcurproc->p_addr-> references with curpcb->. 2000-05-31 00:59:27 +00:00
uch 6764e5fc91 if defined SOFTFLOAT, set fpcurproc before call MachFPInterrupt() 2000-05-30 18:12:47 +00:00
deberg fadd7e1882 oops, we need nofault. 2000-05-30 15:35:00 +00:00
tsubai 7531770fa4 Insert delay() in busy wait. 2000-05-30 11:45:11 +00:00
tsubai 41a98db641 Add cpu_number(). 2000-05-30 11:42:05 +00:00
haya 03c4724943 Use rbus_new_root_share() instead of rbus_new_root_delegate(). 2000-05-30 09:26:19 +00:00
cjs a9a7dd7904 Fix typo in DEBUG code. 2000-05-30 03:26:34 +00:00
nisimura 58d84e19a6 savefpregs() and loadfpregs() are defined in mips_machdep.c 2000-05-30 02:05:36 +00:00
nisimura 3d826a5c7e Add a missing closing parenthesis. 2000-05-30 01:42:43 +00:00
nisimura b67b90d7f9 FPA ownership is now guarded by MDP_FPUSED flag and there is no necessity
to have #if ... around savefpregs() calls.
2000-05-30 01:29:59 +00:00
nisimura 0e501989cd - Have savefpregs() and loadfpregs() in C codes with lengthy inlined
asm statements, obsoluting asm routines in locore.S.  They are
  designed to work in symmetry as names suggests.  savefpregs()
  does not clear a global variable fpcurproc.  Both would be noops when
  NOFPU global symbol is defined.
- MDP_FPUSED flag is not turned on for FPA-less processors like Vr4100
  and TX3900 even when processes execute FP insns.
2000-05-30 01:23:53 +00:00
simonb 4857b33794 A few more white-space bogons. 2000-05-29 23:40:03 +00:00
matt 3f4005113e funciton != function 2000-05-29 23:34:08 +00:00
simonb 6c87680cbf A TAB after the define keyword instead of spaces. 2000-05-29 23:30:06 +00:00
pk ee396c032f Remove IOMMU page table allocation from pmap_bootstrap() and all the
hacks surrounding it.
2000-05-29 22:23:34 +00:00
deberg 9735bab338 use rtc.h for poweroff() and #if 0 out badaddr, which isn't used
anywhere.  machdep.c compiles w/o any noise now.
2000-05-29 22:10:43 +00:00
deberg e3a332df61 prototype rtc stuff used elsewhere 2000-05-29 22:08:47 +00:00
deberg dbd1379620 no need to include next{kbd,display}var.h 2000-05-29 21:35:04 +00:00
pk ce1fb71efc Use uvm_pglistalloc() to allocate memory for the I/O PTEs; modelled after
a similar change by Art Grabowski in Openbsd.
2000-05-29 20:41:10 +00:00
ragge 992002c2be Use the cpu_info struct to store cpu-specific data in the same way in
both uniprocessor and multiprocessor environments. Use the otherwise
unused internal CPU register SSP to store the cpu_info pointer.
The macros curcpu(), curproc, cpu_number() and need_resched() are now the
same in both uniprocessor and multiprocessor environments.
2000-05-29 20:00:55 +00:00
soren e3ee997813 Different form of PCI bug workaround. Should make 2700 system work. 2000-05-29 15:45:15 +00:00
soren 6641d91d94 No Linux compat yet, but Ultrix works. 2000-05-29 15:44:22 +00:00
soren da59451c97 Identify system controller model. 2000-05-29 15:43:50 +00:00
soren ba3a485962 Static poisoning. 2000-05-29 15:43:32 +00:00
soren 66f14d2965 Whitespace. 2000-05-29 15:42:47 +00:00
nisimura 5448bca5b5 Make this file compilable. 3MAX+ has no ISDN. 2000-05-29 12:09:45 +00:00
nisimura a7c050472e Nuke #include directives found unnecessary. 2000-05-29 11:46:52 +00:00
nisimura f7c88c8f18 Make sure to load FPA contents next time an FP insn is executed when
process_write_fpregs() changes pcb_fpregs[].
2000-05-29 11:19:46 +00:00
soda fbc0def1f9 COMPAT_ULTRIX was moved from files.${MACHINE} to files.mips,
from Izumi Tsutsui.
2000-05-29 10:17:44 +00:00
nisimura 76f0ee4e32 Put an additional check to see curproc was an FPA owner process. 2000-05-29 09:47:19 +00:00
nisimura 87cd634474 Put addtional checks to see the curproc is an FPA owner process. 2000-05-29 09:43:33 +00:00