Commit Graph

53115 Commits

Author SHA1 Message Date
yamt
35b7a20bf6 don't bother to register kernel ptp to uvm_object. from yamt-vmem branch. 2011-04-14 16:00:21 +00:00
matt
f58d75b343 Only set userlocal register if l == curlwp in cpu_set_lwpprivate. 2011-04-14 15:44:39 +00:00
matt
e75727fd61 Use .set arch=xlr to access RMI specific instructions. 2011-04-14 09:25:05 +00:00
mrg
0c3d43f80c port to userspace. 2011-04-14 08:59:09 +00:00
matt
bb186500b2 Add L_PRIVATE 2011-04-14 08:17:42 +00:00
matt
02be76bc53 Support LWP_PC 2011-04-14 08:17:27 +00:00
cliff
2dd72524a3 cpuwatch_* stuff is #if (MIPS32 + MIPS32R2 + MIPS64 + MIPS64R2) > 0
now cobalt can build
2011-04-14 06:54:57 +00:00
cliff
b4ba6c18cd - fix comment at cpucore_rmixl_run() 2011-04-14 06:12:21 +00:00
cliff
6b7fbe4fe7 - no need to check lsw_cpu_run != NULL before calling, nullop is default 2011-04-14 05:54:24 +00:00
cliff
d4d5ab9fa6 - add loocoresw slot for lsw_cpu_run
- fix comments for locoresw fields
2011-04-14 05:51:27 +00:00
cliff
359a246a0b - add loocoresw slot for lsw_cpu_run
- fix comments for locoresw entries
2011-04-14 05:50:43 +00:00
cliff
371b6bc22e - in rmixl_pcix_intr_string() convert irq to vector when calling
rmixl_intr_string()
- in rmixl_pcix_intr_establish(), initialize dispatch data 'counts' pointer
- in rmixl_pcix_pip_add_1(), zero out pip_new after allocated.
2011-04-14 05:22:47 +00:00
cliff
2ae1290cdd - in rmixl_pcie_intr_string(), convert irq to vector when calling
rmixl_intr_string()
2011-04-14 05:22:03 +00:00
cliff
9f7dc766b8 - add prototype for rmixl_eirr_ack() 2011-04-14 05:21:22 +00:00
cliff
e80ef82329 - report of BIST result is information only; don't fail attach because of it 2011-04-14 05:20:52 +00:00
cliff
143f3bb008 - fix RCSID
- add rmixl_eirr_ack() to ack the EIRR, using COP0_SYNC & JR_HB_RA as needed
- in rmixl_cpu_trampoline, remove old KSEG0 address reconstruction
of trampoline args pointer, and comment/explain the new way
- also in rmixl_cpu_trampoline, remove old watchpoint hack used for debugging
2011-04-14 05:20:08 +00:00
cliff
127ed29e40 - remove most of the PARANOIA code
- add COP0_SYNC and JR_HB_RA following CP0 after all
writes to STATUS or EIMR that change interrupt control.
- all interrupt control now done w/ EIMR, except for
initial set of IE in STATUS.
2011-04-14 05:16:54 +00:00
cliff
7c284c02ea - add compile time check in case NIPIS ever exceeds number of available vectors 2011-04-14 05:16:28 +00:00
cliff
6300d89c6e - in evbmips_iointr(), call assembly function rmixl_eirr_ack()
to ack the EIRR, instead of using a bunch of asm() here.
- in rmixl_ipi_intr(), remove overly paranoid assert that the given
IPI request is pending; if the request is clear, it was previously processed.
- in rmixl_vecnames_common[], give ipi vectors unique (numbered) names
2011-04-14 05:16:00 +00:00
cliff
195846ec3e - add sc_running flag to allow cpucore_rmixl_run() to do once-per-core
initializations once we know what threads are configured
- add sc_threads_enb and sc_threads_dis to track what threads are
enabled by firmware and configured and attach, or not.
- add prototype for cpucore_rmixl_run()
2011-04-14 05:15:22 +00:00
cliff
cf3e8c40cb - in cpucore_rmixl_attach(), keep track of which threads are
enabled by firmware and configured and attach, or not.
- add cpucore_rmixl_run() to do the post-running initialization:
disable unused threads in RMIXL_PCR_THREADEN, and
set Round Robin thread scheduling mode.
2011-04-14 05:14:23 +00:00
cliff
23acf29a1c - add cpu_rmixl_run(), and set in mips_locoresw.lsw_cpu_run
to be called from cpu_hatch() once cpus are running,
so we can determine what threads are configured
and running, and can finish initialization of per-core registers
depending on that.
- in cpu_rmixl_db_watch_init() clear IEU_DEFEATURE[DBE],
and init all COP0 watchpoint regs
- option MIPS_DDB_WATCH is deprecated, removed; use of cpu watchpoints
is longer depends on that or DDB
2011-04-14 05:12:58 +00:00
cliff
863a6c6b7c - add mips_watchpoint_init() to discover number of CPU watchpoints,
and call that from {mips32,mips32r2,mips64,mips64r2}_vector_init()
2011-04-14 05:10:04 +00:00
cliff
2cbfee21ba - option MIPS_DDB_WATCH is dedprecated, removed; now using
(MIPS32 + MIPS32R2 + MIPS64 + MIPS64R2) > 0 for conditional
compile of db_mach_watch stuff
- MIPS CPU (COP0) watchpoint support moved from db_interface.c
to cpu_subr.c, cpu.h; ddb_mach_watch &etc now use those cpu functions.
- ddb_cpu now volatile
- 'struct db_mach_watch' definition &etc moved to mips/include/db_machdep.h
- db_mach_watch_tab is replaced by curcpu()->ci_watch_tab
to allow per-cpu watchpoint control
- improve MP function in kdb_trap()
- fix conditions for printing cp0 regs
2011-04-14 05:09:34 +00:00
cliff
061e9aafc0 - MIPS CPU (COP0) watchpoint support moved from db_interface.c to cpu_subr.c
see the cpuwatch_* functions
- ci_cpuwatch_count in allocated cpu_info is inherited from cpu_info_store
- cpu_hatch() calls lsw_cpu_run (if not NULL)
to optionally allow running MIPS chip-specific code
after subordinate cpus have been set running
- #ifdef DDB cpu_debug_dump() to allow compile when DDB not defined
2011-04-14 05:08:51 +00:00
cliff
3dcf71db4a - add lsw_cpu_run function pointer to struct locoresw 2011-04-14 05:08:22 +00:00
cliff
eb5d9f2c6f - remove include <mips/proc.h>, unused
- db_mach_watch_set_all() is deprecated, removed,
superceded by cpuwatch_set_all()
2011-04-14 05:07:56 +00:00
cliff
b19e36c4aa - MIPS CPU (COP0) watchpoint support moved from db_machdep.h to cpu.h
- CPU watchpoints are per-cpu; add ci_cpuwatch_count, ci_watchpoint_tab[]
to struct cpuinfo
2011-04-14 05:07:30 +00:00
cliff
35cc1dff95 - option MIPS_DDB_WATCH is deprecated, removed 2011-04-14 05:07:00 +00:00
cliff
3046daaef0 - remove cpucore and cpu reconfiguration stuff
cares and threads can be specified here,
but it's easier to do at boot time from firmmware
e.g. using 'userapp_mask_cpus <mask>' command
2011-04-14 05:06:39 +00:00
cliff
f67329a387 - 32 bit kernel must MEMLIMIT to 512MB 2011-04-14 05:06:10 +00:00
cliff
95f43f4d6f - remove options LOCKDEBUG; is set in XLSATX64.MP
- option MIPS_DDB_WATCH is deprecated, removed
2011-04-14 05:05:35 +00:00
macallan
dfdc4959f7 use the same function whenever we change colour depth
also, when opening the fb device switch to 32bit and back to 8 on close, not
the other way around
2011-04-13 23:31:25 +00:00
cliff
1a422a9cdf initialize mutex in attach 2011-04-13 21:06:30 +00:00
phx
6aa7a17f50 ExtClk for QNAP should be the same as for Synology's 266MHz systems.
This seems logical, as both boards are very similar, and the clock precision
is ok now.
2011-04-13 18:32:21 +00:00
plunky
7ed121adfb use PRIx64 for printing 64-bit values 2011-04-13 16:22:09 +00:00
he
d5ffa53ef0 Convert to using -nostdinc, and set include paths and create symlinks
so that we include the source tree's sys/, machine/ and m68k/ headers,
and only as a last resort use DESTDIR's /usr/include.  For some reason
the host's bootinfo.h got included ahead of the x68k variant, causing
a build failure in my case.
2011-04-13 11:10:49 +00:00
mrg
a8fdd2914b move the include sys/types.h xor stdbool.h to the top of the file,
so that "bool" will be present when used later in the file.
2011-04-13 06:29:30 +00:00
mrg
1ed2588de8 re-include sparc64/sparc64/intreg.h in kernel mode. it's necessary. 2011-04-13 03:40:00 +00:00
mrg
bac0b9ea90 export a bunch of things to _KMEMUSER as well.
XXX: should consolidate the curcpu/curlwp definitions.
2011-04-13 03:35:19 +00:00
mrg
1b8d9011dd port to userspace. this needs db_user.h, stddef.h, stdbool.h and not
promlib.h.  put db_read/write_bytes() under _KERNEL.

XXX: for now, provide an empty db_machine_command_table[].

XXX2: this file puts a lot of it under #ifdef DDB, but i'm not sure
why this is done.  for now it makes it easier to port to userspace :)
2011-04-13 03:34:37 +00:00
mrg
9cd3a0ce28 port to userspace. needs <stdbool.h>, <sys/cpu.h>. delete unused
ULOAD().  implement KLOAD() in terms of db_read_bytes() in userspace.
can't use proc_find_raw() in userspace; disable this functionality
for now.  use db_printf().
2011-04-13 03:32:28 +00:00
mrg
4610955cd4 apply s/TRUE/true/; s/FALSE/false/;. needed for userland. 2011-04-13 03:29:03 +00:00
mrg
769de4c56a this needs db_user.h and stdlib.h in userland. 2011-04-13 03:25:35 +00:00
mrg
e090cbd477 install <machine/intr.h> for crash(8).
(we could avoid this, but it would require a lot of contortions that
make the header files ugly.  maybe someone else can figure out a less
ugly way of doing this later.)
2011-04-13 03:24:28 +00:00
mrg
68a527ebb7 this needs sys/types.h in userspace. 2011-04-13 03:22:49 +00:00
matt
26d2331fcb Add prototypes for mipsNN_cp0_watch{lo,hi}_{read,write} 2011-04-12 22:54:31 +00:00
matt
e3051ddc13 Add mipsNN_cp0_watch{lo,hi}_{read,write} 2011-04-12 22:50:33 +00:00
matt
a4abc0e6c7 Get rid of an errant KASSERT 2011-04-12 18:53:23 +00:00
matt
3d6322997b Dont bother taking out TLBINFO lock in pmap_tlb_asid_deactivate since the
atomic ops will DTRT with it.  Remove spl calls too.
2011-04-12 18:39:38 +00:00