Commit Graph

432 Commits

Author SHA1 Message Date
uch
31ae0ac1e9 clean up Makefiles 2002-02-24 20:10:53 +00:00
uch
6bda0e36c3 use sh_clock_get_pclock() instead of PCLOCK. 2002-02-24 19:35:42 +00:00
uch
3c3da7bf57 _start -> start. 2002-02-24 18:24:15 +00:00
uch
693be1956c Move common exception vector and scheduler code to
sh3/sh3/exception_vector.S and sh3/sh3/locore_subr.S. exception
vectors are installed by sh_cpu_init().  machine/locore.S contains
kernel entry, interrupt handler, and some MD code.
2002-02-24 18:19:40 +00:00
uch
72589177e0 remove obsolete file. 2002-02-24 18:13:06 +00:00
uch
b1b1f1117b NetBSD/sh3 common part of clock routine. 2002-02-22 19:55:33 +00:00
uch
f3b1882035 print MMU infomation. 2002-02-22 19:46:34 +00:00
uch
f694c9fdd7 New NetBSD/sh3 clock framework.
+ hardclock source is moved from TMU1 to TMU0.
 + SH3/SH4 common kernel support.
 + PCLOCK estimation.
 + remove duplicated code.
2002-02-22 19:43:58 +00:00
uch
5f5cce9adc Clean up function declaration. 2002-02-19 17:22:34 +00:00
uch
1bdc7cc5ca Clean up functions
disable_intr, enable_intr, disable_interrupt, enable_interrupt,
disable_ext_intr, enable_ext_intr.
New functions:
for external interrupt:
_cpu_intr_suspend and _cpu_intr_resume.
for exception:
_cpu_exception_suspend and _cpu_exception_resume.
2002-02-19 17:21:18 +00:00
wiz
37e458fa45 strategy should have an 'r'. Inspired by similar change in OpenBSD. 2002-02-19 17:09:40 +00:00
simonb
2d8577fb83 Clean up some rampant code duplication wrt ieee number handling:
- Add alignment-safe double and float unions.
 - Use the above for the __infinity and __nan constants on all
   architectures that use the standard ieee754 representation of
   those constants.
 - Add a single copy of various ieee754 math functions (frexp, isinf,
   isnan, ldexp and modf) that had numerous duplicates among the
   arch-specific directories.
 - Use the above functions on all architectures where the generic C
   versions where used.  Architectures that had local assembly
   routines are untouched (for those functions only).
2002-02-19 13:08:12 +00:00
uch
6e0794b560 To determine CPU architecture and product, add cpu_arch and cpu_prduct variables.
these are initialized by sh_cpu_init()@sh3/sh3_machdep.c
(see sh3/include/cputypes.h for detail.)
add "options SH3" for SH3 kernel config file.
2002-02-17 20:59:33 +00:00
uch
14bcf8c92a add cache dump 2002-02-17 20:58:35 +00:00
uch
a96c1d0e8f change register naming. 2002-02-17 20:58:02 +00:00
uch
70826aa2cd sh_cpu_init() is added. its initialize cache, MMU ops appropriately.
machine locore code call this at first.
2002-02-17 20:57:09 +00:00
uch
780de330ba Add new MMU API. for detail, see sh3/mmu.h's comment. 2002-02-17 20:55:50 +00:00
uch
779bf563f4 ANSIfy. remove #if 0 ... #endif. 2002-02-17 20:53:40 +00:00
chs
b744097a5f allow writing to write-only mappings. fixes PR 3493. 2002-02-14 07:08:02 +00:00
uch
b3f7b11fe7 ANSIfy KNF. 2002-02-12 15:26:45 +00:00
uch
7f6769e315 wrap #ifdef SH4 2002-02-11 18:55:16 +00:00
uch
9487e1d731 change PTE PG_* bit define to support SH4 PCMCIA space attribute fully.
for detail, see pte.h.
2002-02-11 18:06:06 +00:00
uch
32f2c6e61f clean up redundant PTE PG_* defines.
PG_RO     -> PG_KR
PG_RW     -> PG_KW
PG_u      -> PG_URKR
PG_PROT   -> PG_UW
PG_AVAIL1 -> PG_PVLIST
2002-02-11 18:05:17 +00:00
uch
6a86080d84 add useful macro for running P2, P1 area. 2002-02-11 18:04:24 +00:00
uch
de4d07e475 add defines 2002-02-11 18:03:48 +00:00
uch
e63a9777b2 add new cache routine. 2002-02-11 18:03:05 +00:00
uch
03487ed5cb machine tlb command print PFN with AREA number. 2002-02-11 17:50:17 +00:00
uch
b3308f4d3d TLB dump command added to DDB 2002-02-08 06:12:00 +00:00
uch
da20ab3589 add SH3/SH4 namespace free defines. 2002-02-08 06:11:38 +00:00
uch
66510b76a9 add SH-internal memory mapped register access method. 2002-02-08 06:11:16 +00:00
thorpej
462fa41153 * Make this lint'able.
* Reduce some code duplication.
2002-02-04 08:34:27 +00:00
thorpej
87c05210dd Fix for ELF + __NO_LEADING_UNDERSCORES__. 2002-02-04 08:33:34 +00:00
thorpej
74cd9f1058 In setregs(), pass PS_STRINGS in r9. 2002-02-03 22:28:09 +00:00
uch
4202622d3c if PCLOCK isn't setted, use estimated value calculated by kernel. 2002-02-01 17:52:54 +00:00
thorpej
ed0b3a0857 Add SuperH ELF header flags. 2002-01-29 01:42:57 +00:00
thorpej
e46bcf64ee Add SuperH relocation types. 2002-01-29 01:35:36 +00:00
chs
9451559ef4 pmap_page_protect(VM_PROT_NONE) must remove all mappings in the PV list,
even if they are wired.  we need to be able to remove all mappings to
pages that are being freed due to (eg.) file truncation.
2002-01-02 00:51:33 +00:00
thorpej
3bce84cf10 Consider __NO_LEADING_UNDERSCORES__ provided by the new ELF toolchain. 2001-12-16 18:11:12 +00:00
soren
875bff0962 To make dev/pcmcia work on platforms with 64-bit bus_addr_t and
32-bit bus_size_t (sparc), change the pcmcia_mem_map(9) offsetp
argument to bus_size_t as it is used as a bus_space offset.
2001-12-15 13:23:20 +00:00
thorpej
f77397d481 Use __sh__ instead of __sh3__. 2001-12-14 23:30:02 +00:00
thorpej
51535d4bf5 Add support for dumping ELF-cormat core files. 2001-12-09 23:05:56 +00:00
atatat
b45c51b1fc Roll the rest of the ports over to the new MI kernel build machinery.
Any problems reported by testers have been fixed, and massive
cross-compiling of kernels has shown that any problems that remain
with actually building kernels are not related to this.
2001-12-09 05:00:40 +00:00
lukem
0fa231134c - replace "defopt" with "defparam" for options which must take a value,
as config(8) will warn for value-less defparam options
- minor whitespace/formatting cleanup
- consolidate opt_tcp_recvspace.h and opt_tcp_sendspace.h into opt_tcp_space.h
2001-11-20 14:34:18 +00:00
lukem
03aef4723c cleanup:
options SPACE TAB
	makeoptions TAB
	psuedo-device TAB
	remove trailing whitespace
	replace multiple spaces -> tabs
	options "FOO" -> options FOO
	options "FOO=bar" -> options FOO=bar
	options "FOO=\"bar\"" -> options FOO="\"bar\""
2001-11-20 12:56:17 +00:00
lukem
99bccc3cab - pull in opt_kgdb.h where necessary
- replace opt_kgdb_machdep.h with opt_kgdb.h
- defparam opt_kgdb.h:
	KGDB_DEV KGDB_DEVNAME KGDB_DEVADDR KGDB_DEVRATE KGDB_DEVMODE
- move from opt_ddbparam.h to opt_ddb.h:
	DDB_FROMCONSOLE DDB_ONPANIC DDB_HISTORY_SIZE DDB_BREAK_CHAR SYMTAB_SPACE
- replace KGDBDEV with KGDB_DEV
- replace KGDBADDR with KGDB_DEVADDR
- replace KGDBMODE with KGDB_DEVMODE
- replace KGDBRATE with KGDB_DEVRATE
- use `9600' instead of `0x2580' for 9600 baud rate
- use correct quotes for  options KGDB_DEVNAME="\"com\""
- use correct quotes for  options KGDB_DEV="17*256+0"
- remove unnecessary dependancy on Makefile for kgdb_stub.o
- minor whitespace cleanup
2001-11-20 08:43:19 +00:00
soren
662f877587 MAXSLP is defined to be a machine-independent scheduling parameter,
so move it into sys/param.h.
2001-11-15 18:06:11 +00:00
chs
a69c43b997 fix pmap_extract() to handle addresses with a PTP but an invalid PTE. 2001-11-15 05:16:41 +00:00
thorpej
e8ee04475d - Add a new vnode flag VEXECMAP, which indicates that a vnode has
executable mappings.  Stop overloading VTEXT for this purpose (VTEXT
  also has another meaning).
- Rename vn_marktext() to vn_markexec(), and use it when executable
  mappings of a vnode are established.
- In places where we want to set VTEXT, set it in v_flag directly, rather
  than making a function call to do this (it no longer makes sense to
  use a function call, since we no longer overload VTEXT with VEXECMAP's
  meaning).

VEXECMAP suggested by Chuq Silvers.
2001-10-30 15:32:01 +00:00
jmc
6d536163de Change defaults for kernel compiles. Default all to USETOOLS?=no and have
the etc Makefile override that by putting USETOOLS into $.MAKEOVERRIDES
This way the default for kernel compiles is still to use the installed
toolchain instead of depending on $TOOLDIR. $TOOLDIR can be used by
simply adding USETOOLS=yes to the command line as usual.

Adjust each ports template to set the default no setting and also pull in
bsd.own.mk if they weren't already to ensure they'll build correctly
with the new toolchain setup.
2001-10-26 06:45:33 +00:00
thorpej
2c5ebcddfb Use MACHINE, not TARGET_MACHINE. 2001-10-23 18:57:32 +00:00
msaitoh
61b54edfd4 s/BYTE_ORDER/_BYTE_ORDER/g 2001-10-16 02:07:46 +00:00
chs
80373b7e54 don't depend on other headers to include sys/proc.h for us. 2001-09-28 11:59:51 +00:00
chs
1dcb706816 fix type-o. 2001-09-21 02:36:47 +00:00
chs
b1ac97973c Fix kern/13049: missing unlock on failure exit from pmap_enter() 2001-09-19 07:54:48 +00:00
wiz
55fbb5ff57 Grammar improvements in comments. 2001-09-16 16:40:44 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
chs
64c6d1d2dc a whole bunch of changes to improve performance and robustness under load:
- remove special treatment of pager_map mappings in pmaps.  this is
   required now, since I've removed the globals that expose the address range.
   pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's
   no longer any need to special-case it.
 - eliminate struct uvm_vnode by moving its fields into struct vnode.
 - rewrite the pageout path.  the pager is now responsible for handling the
   high-level requests instead of only getting control after a bunch of work
   has already been done on its behalf.  this will allow us to UBCify LFS,
   which needs tighter control over its pages than other filesystems do.
   writing a page to disk no longer requires making it read-only, which
   allows us to write wired pages without causing all kinds of havoc.
 - use a new PG_PAGEOUT flag to indicate that a page should be freed
   on behalf of the pagedaemon when it's unlocked.  this flag is very similar
   to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the
   pageout fails due to eg. an indirect-block buffer being locked.
   this allows us to remove the "version" field from struct vm_page,
   and together with shrinking "loan_count" from 32 bits to 16,
   struct vm_page is now 4 bytes smaller.
 - no longer use PG_RELEASED for swap-backed pages.  if the page is busy
   because it's being paged out, we can't release the swap slot to be
   reallocated until that write is complete, but unlike with vnodes we
   don't keep a count of in-progress writes so there's no good way to
   know when the write is done.  instead, when we need to free a busy
   swap-backed page, just sleep until we can get it busy ourselves.
 - implement a fast-path for extending writes which allows us to avoid
   zeroing new pages.  this substantially reduces cpu usage.
 - encapsulate the data used by the genfs code in a struct genfs_node,
   which must be the first element of the filesystem-specific vnode data
   for filesystems which use genfs_{get,put}pages().
 - eliminate many of the UVM pagerops, since they aren't needed anymore
   now that the pager "put" operation is a higher-level operation.
 - enhance the genfs code to allow NFS to use the genfs_{get,put}pages
   instead of a modified copy.
 - clean up struct vnode by removing all the fields that used to be used by
   the vfs_cluster.c code (which we don't use anymore with UBC).
 - remove kmem_object and mb_object since they were useless.
   instead of allocating pages to these objects, we now just allocate
   pages with no object.  such pages are mapped in the kernel until they
   are freed, so we can use the mapping to find the page to free it.
   this allows us to remove splvm() protection in several places.

The sum of all these changes improves write throughput on my
decstation 5000/200 to within 1% of the rate of NetBSD 1.5
and reduces the elapsed time for "make release" of a NetBSD 1.5
source tree on my 128MB pc to 10% less than a 1.5 kernel took.
2001-09-15 20:36:31 +00:00
msaitoh
9cd1fceecc remove obsolete file 2001-09-14 11:39:39 +00:00
chris
0e7661f023 Update pmap_update to now take the updated pmap as an argument.
This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.

Currently this is a no-op on most platforms, so they should see no difference.

Reviewed by Jason.
2001-09-10 21:19:08 +00:00
msaitoh
78db8b9715 add missing check for framing error 2001-09-10 08:50:33 +00:00
msaitoh
d3e7333a60 s/cpu_startup/sh3_startup/g in panic messages 2001-09-01 03:02:31 +00:00
chs
9e8e4c5bdc I was wrong, sh4 does have a VAC.
change vmapbuf()/vmunmapbuf() back to using pmap_enter()/pmap_remove().
2001-08-19 20:44:41 +00:00
chs
dd3f84513a typo in previous. 2001-08-19 17:45:15 +00:00
chs
17d06a7ad7 use pmap_k* in vmapbuf() and vunmapbuf() since there's no VAC on this platform.
in vunmapbuf(), call pmap_*remove() explicitly since uvm_km_free_wakeup()
will soon no longer do it for us.
2001-08-19 17:37:35 +00:00
jdolecek
c495131fe3 Move _insque()/_remque() to libkern. Once remaining uses would
be converted to <sys/queue.h> macros, _insque()/_remque() would be eliminated
altogether.
2001-08-12 08:35:31 +00:00
msaitoh
dfc4520de8 G.C. 2001-08-10 18:57:25 +00:00
msaitoh
6096cc20fb byebye 2001-08-10 18:55:08 +00:00
msaitoh
0756145b0f fix a ldtlb handling bug:
- set to PTE{H,L,A} and call LDTLB must do atomically.
 - never call LDTLB when it's unnecessary.

Broken kernel oocasionally causes cpu reset when /etc/security is called.
Now fix this problem.
2001-08-10 18:27:08 +00:00
tsubai
f9493fa115 Make this compile again. 2001-07-22 14:20:13 +00:00
ichiro
025f122394 use definition of memory size for physical area
0x20000000 -> SH3_P1234SEG_SIZE
2001-07-20 14:19:59 +00:00
thorpej
babefc5331 Add BUS_DMA_READ and BUS_DMA_WRITE flags, that hint the back-end
at dmamap load time that the mapping will be used for a unidirectional
transfer of the specified direction.
2001-07-19 15:32:10 +00:00
msaitoh
40204ff68c fix KERNELMODE() macro (check MD bits, too) 2001-06-24 05:34:07 +00:00
msaitoh
fa7f03665e use MMUCR_TF macro defined in mmureg.h 2001-06-24 05:32:55 +00:00
msaitoh
8a3c1726a2 cpu_fork() fix:
- add cacheflush() when sh4
	- convert kr15 from P2 area to P1 area (SH4)
2001-06-24 05:22:18 +00:00
msaitoh
33b63f3efa fix microtime() 2001-06-24 05:00:28 +00:00
wiz
0a600be867 receive, not recieve 2001-06-12 15:17:10 +00:00
msaitoh
e29b0f085f .type xxx,@function isn't supported under COFF 2001-06-10 19:06:26 +00:00
chs
821ec03ed9 replace vm_map{,_entry}_t with struct vm_map{,_entry} *. 2001-06-02 18:09:08 +00:00
lukem
d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
mrg
67afbd6270 use _KERNEL_OPT 2001-05-30 11:57:16 +00:00
mrg
3783ca5d30 define _KERNEL_OPT as well as _KERNEL. we will use this in the future to
get kernel "opt_foo.h" headers, rather than _KERNEL && !_LKM.
2001-05-29 02:20:20 +00:00
chs
11a9651c8f replace vm_page_t with struct vm_page *. 2001-05-26 21:27:10 +00:00
chs
118ddca24a replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}. 2001-05-26 16:32:40 +00:00
sommerfeld
e2a08caf68 Replicate pte unmap change from i386 pmap.c
(fix kern/12554 workaround).
2001-05-25 23:34:44 +00:00
msaitoh
cbcd644ce8 sigreturn() fix (from kleink) 2001-05-16 12:42:38 +00:00
tshiozak
b1c2276feb Correct a simple bug in the recent commit (pmap.c:1.19) by thopej.
I guess he indents to prepare a temporary variable for saving the next
pointer of a list element, but he seems to forget to substitute the
pointer for the variable.  This often causes my dreamcast panic.
2001-05-13 19:41:17 +00:00
kleink
dadbb7e784 There is no extended-precision format on sh3. 2001-05-03 13:19:52 +00:00
scw
2963ff5c58 Add l_poll' to struct linesw' and provide an xxxpoll() entry point
in each tty driver to indirect through it.

This allows tty line-disciplines to handle poll(2) system calls.
2001-05-02 10:32:08 +00:00
thorpej
cf67ac7122 Per discussion w/ chuck and chuck, restructure the md page stuff
to use a structure called "vm_page_md", and use __HAVE_VM_PAGE_MD
and __HAVE_PMAP_PHYSSEG.
2001-05-01 02:19:13 +00:00
thorpej
2b27ac7a99 Add a VM_MDPAGE_MEMBERS macro that defines pmap-specific data for
each vm_page structure.  Add a VM_MDPAGE_INIT() macro to init this
data when pages are initialized by UVM.  These macros are mandatory,
but ports may #define them to nothing if they are not needed/used.

This deprecates struct pmap_physseg.  As a transitional measure,
allow a port to #define PMAP_PHYSSEG so that it can continue to
use it until its pmap is converted to use VM_MDPAGE_MEMBERS.

Use all this stuff to eliminate a lot of extra work in the Alpha
pmap module (it's smaller and faster now).  Changes to other pmap
modules will follow.
2001-04-29 22:44:31 +00:00
kleink
fe3c9ceaf7 * Move definitions of exact-width integer types from <machine/types.h>
to <sys/types.h> and <sys/stdint.h>.
* Add a new C99 <stdint.h> header, which provides integer types of
  explicit width, related limits and integer constant macros.
* Extend <inttypes.h> to provide <stdint.h> definitions and format
  macros for printf() and scanf().
* Add C99 strtoimax() and strtoumax() functions.
* Use the latter within scanf().
* Add C99 %j, %t and %z printf()/scanf() conversions for
  intmax_t, pointer-type and size_t arguments.
2001-04-28 15:41:28 +00:00
kleink
99054d7a6c Add definitions for C99 fastest minimum-width integer types. 2001-04-26 16:25:19 +00:00
thorpej
d7e12660a3 Work around the problem that causes kern/12554. Basically,
there are some pathological cases that cause pmap_page_protect()
to be called on a wired page to revoke all mappings.  We
need to skip mappings that are actually wired to prevent Bad
things from happening later.

THIS IS JUST A WORK-AROUND.  We need to prevent the pathological
behavior from happening in UVM to begin with.  But it's unclear
what the right solution is there, right now.
2001-04-25 16:18:24 +00:00
thorpej
1c3a62e066 Sprinkle pmap_update() calls after calls to:
- pmap_enter()
- pmap_remove()
- pmap_protect()
- pmap_kenter_pa()
- pmap_kremove()
as described in pmap(9).

These calls are relatively conservative.  It may be possible to
optimize these a little more.
2001-04-24 04:30:50 +00:00
uch
63ec3bc3fa dreamcast clock module was separated. 2001-04-23 11:20:41 +00:00
thorpej
55044638aa Remove pmap_kenter_pgs(). It was never really adopted by
anything, and the interface itself wasn't as flexible as
callers would have probably liked.
2001-04-22 23:42:11 +00:00
thorpej
69abdbf60c Undo a misguided previous change to the pmap_update() API. 2001-04-22 23:19:26 +00:00
uch
103b08ffa1 make this compile again under SH4 2001-04-22 17:37:55 +00:00
uch
95f0d5c680 add RTC control register 1 defines. 2001-04-22 16:50:17 +00:00
thorpej
4738622712 Give pmap_update() an argument (a pmap_t) so that it knows which
pmap it should be updating.
2001-04-22 00:33:59 +00:00
thorpej
15f731ee94 pmap_update() should not be equated with "flush entire TLB", it is
used to process deferred pmap operations.  Since these pmaps don't
defer anything, pmap_update() is a noop.
2001-04-21 17:25:01 +00:00
kleink
f06533a1ee Add definitions of C99 integer format conversion macros.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 17:13:04 +00:00
kleink
739cb75837 Add definitions of C99 specified-width integer type limits.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-15 15:29:02 +00:00
kleink
cdcf9f46c5 Add definitions of C99 integer constant macros.
Tidy Makefiles up a little.
2001-04-14 22:46:19 +00:00
kleink
a7c20e5788 Add definitions of C99 integer constant macros. 2001-04-14 22:38:33 +00:00
kleink
7affdab52e Add definitions of C99 minimum-width and greatest-width integer types.
XXX Fastest minimum-width integer types haven't been decided upon yet.
2001-04-14 12:19:49 +00:00
thorpej
bf2dcec4f5 Remove the use of splimp() from the NetBSD kernel. splnet()
and only splnet() is allowed for the protection of data structures
used by network devices.
2001-04-13 23:29:55 +00:00
marcus
b6c1c5d49a Altentries should also be marked as functions, to keep linker happy. 2001-04-09 20:31:20 +00:00
marcus
e0d02d24d5 Mark syscalls as functions. 2001-04-09 15:52:59 +00:00
marcus
0640ad6ace When the endians are little, they are little. 2001-03-29 03:23:33 +00:00
matt
f283c0a504 Use ${THISSH3} instead of ../.. ; not everyone builds in ../compile/FOO 2001-03-24 18:26:11 +00:00
chs
e47583af2c missed some KERN_FAILUREs. 2001-03-18 23:43:53 +00:00
chs
ac3bc537bd eliminate the KERN_* error codes in favor of the traditional E* codes.
the mapping is:

KERN_SUCCESS			0
KERN_INVALID_ADDRESS		EFAULT
KERN_PROTECTION_FAILURE		EACCES
KERN_NO_SPACE			ENOMEM
KERN_INVALID_ARGUMENT		EINVAL
KERN_FAILURE			various, mostly turn into KASSERTs
KERN_RESOURCE_SHORTAGE		ENOMEM
KERN_NOT_RECEIVER		<unused>
KERN_NO_ACCESS			<unused>
KERN_PAGES_LOCKED		<unused>
2001-03-15 06:10:32 +00:00
itohy
7ffa2a0375 Add RTC_OFFSET support to inittodr() on dreamcast.
No changes to other sh ports.
2001-03-07 00:47:22 +00:00
thorpej
51aeeceeaf Clean up TLB trap handling a little.
- When printing a user trap, include p->p_comm in the message.
- In the TLB fault handler, don't just go charging along if
  the fault can't be handled.  If we get a fatal kernel TLB
  fault, we need to panic!  Or, if DDB is enabled, call the
  Debugger().
2001-03-06 21:58:23 +00:00
msaitoh
0aa1f3d01e modify target name because we can't recommend to use pkgsrc/cross
(though I'm not the person who did such BAD modification)
2001-02-27 14:05:53 +00:00
msaitoh
bba3f2423b add comment about $CPP
From source:

# XXX following definition is absolutely incorrect.
# Our cpp is not /usr/libexec/cpp but /usr/bin/cpp.
# True solution is:
#	1) copy /usr/bin/cpp into /usr/local/bin/sh-*-*-cpp
#	2) Edit CPP in sh-*-*-cpp correctly
#		(e.g. "CPP=`$CC -print-prog-name=cpp`").
#	3) Edit STDINCDIR in sh-*-*-cpp correctly
#		(e.g. STDINCDIR=/usr/local/sh-unknown-netbsdcoff/include)

# BROKEN
CPP=`$TARGET-gcc -print-prog-name=cpp`

# EXAMPLE
#CPP=/usr/local/bin/sh-unknown-netbsdcoff-cpp
#CPP=/usr/local/bin/sh-unknown-netbsdelf-cpp
2001-02-26 08:46:15 +00:00
msaitoh
6c4c53a461 add "MACHINE_CPU=sh3" 2001-02-26 08:24:20 +00:00
msaitoh
bc759e0d8d check __LEADING_UNDERSCORE 2001-02-25 19:15:04 +00:00
msaitoh
526ce203e7 check __LEADING_UNDERSCORE instead of __sh3__ 2001-02-25 15:49:58 +00:00
uch
e0a4623854 move disksubr.c define to machine-port. 2001-02-21 16:42:04 +00:00
uch
8ce0133cc8 add SH7709/SH7709A I/O port register define 2001-02-21 14:49:53 +00:00
msaitoh
c090c1cfe5 temporary fix a serious pmap problem with dummy PMAP_{MAP,UNMAP}_POOLPAGE().
To fix correctly, set IOM_RAM_BEGIN with P0 addr instead of P1 addr and
fix machdep.c and pmap.c.
2001-02-19 17:51:22 +00:00
msaitoh
2633a5dcb5 _C_LABEL() 2001-02-14 17:57:31 +00:00
uch
78af56fcfd move VM_PHYSSEG_MAX, VM_NFREELIST, VM_FREELIST_DEFAULT defines to
machine/vmparam.h
2001-02-07 14:53:09 +00:00
uch
6a7b420b7e move machine-port specific file to machine directory.
for evbsh3, mmeye and dreamcast, use MI md_root.c
2001-02-06 16:45:19 +00:00
thorpej
c8cdb12913 Add some comments about P/USEG 2001-02-02 18:25:04 +00:00
thorpej
ef2315d256 Rewrite how mod/ref emulation is done. In particular, make
modified attribute checking actually work.  Previously, a
page could be reported as modified even if it wasn't!  This
is very bad, and e.g. caused the VM system to attempt to
"clean" pages of read-only files.

Only lip-services is paid to referenced attribute emulation.
This could be improved.
2001-02-02 02:28:18 +00:00
msaitoh
61831529f2 add some macros for 8bit PCMCIA access 2001-01-30 04:15:10 +00:00
tsubai
9b4793fd1b #ifdef DREAMCAST --> #ifdef dreamcast. 2001-01-22 08:23:58 +00:00
tsubai
4791d269ec -Dsh3 --> -D${TARGET_MACHINE}. 2001-01-22 08:22:15 +00:00
tsubai
ffb8bbbb30 #ifdef sh3 --> #ifdef __sh3__. 2001-01-22 08:18:06 +00:00
itojun
f92ee7af5c sync indent. 2001-01-22 07:04:10 +00:00
marcus
aa94cdc6ad Oops. Left a debug printout in there... 2001-01-21 23:53:09 +00:00
jdolecek
d5d431e8ae make db_[e]regs[] const 2001-01-18 10:54:27 +00:00
itojun
f79137a3f1 it looks that gas configured for little endian output runs as
big endian assembler, sometimes.  explicitly have -little to specify
little endian output.
2001-01-17 06:03:54 +00:00
itojun
ef1a3ce53b the kernel for SH3-based WinCE machines (little endian), by uch.
MACHINE=hpcsh, MACHINE_CPU=sh3el.

bootloader: ftp://f77.nop.or.jp/users/uch/hpcboot/
original patch: ftp://f77.nop.or.jp/users/uch/hpcsh/

sys/sh3/sh3/md_root.c: add #ifdef MEMORY_DISK_DYNAMIC
2001-01-17 05:21:47 +00:00
itojun
d8ba6d06be procfs_machdep is per port (not per CPU). 2001-01-17 00:44:33 +00:00
fvdl
c7f1462f3e Add machdep file for procfs. Currently only used for linux-style
/proc/cpuinfo (only active when procfs is mounted with -o linux).
For ports other than the i386 this currently produces an empty
string.
2001-01-17 00:07:18 +00:00
marcus
bc9ea0aebd Dreamcast uses a different realtime clock than the builtin RTC. 2001-01-16 00:34:44 +00:00
thorpej
45de366b2e Rename __GENERIC_SOFT_INTERRUPTS to __HAVE_GENERIC_SOFT_INTERRUPTS,
and place the definition in <machine/types.h>.  This can now be used
as a flag to indicate whether or not <machine/intr.h> can be included
to get the generic soft interrupt API.
2001-01-14 23:50:28 +00:00
thorpej
a3ec356d52 splimp() -> splvm() 2001-01-14 03:22:04 +00:00
thorpej
d85a75f583 Make sure everybody has an splvm() and equate it with splimp() (splimp()
is the historical name for this interrupt level, and the historical name
is going to go away in the near future).
2001-01-14 02:00:37 +00:00
itojun
6378ac40ee pass the right $CPP 2001-01-09 02:31:37 +00:00
itojun
828bec041b committed local change by mistake :-) 2001-01-04 09:49:29 +00:00
itojun
a8507fa1e7 pkgsrc/cross/sh-* do not supply cpp 2001-01-04 08:55:08 +00:00
itojun
26b1bcce00 cc -v is too verbose 2001-01-04 08:39:53 +00:00
itojun
a629edfcca use -O1 for now, -O2 dies 2001-01-04 07:55:32 +00:00
itojun
da0e17f08c fix pathname to meet pkgsrc/cross/sh* 2001-01-04 07:51:50 +00:00
itojun
8a58f991f6 content were mixed up 2001-01-04 07:50:23 +00:00