Commit Graph

383 Commits

Author SHA1 Message Date
Warner Losh
21ed765c7f Formatting nit. 2009-11-20 15:56:51 +00:00
Oleksandr Tymoshenko
2839b59a94 - Add intr counters for APB interrupts 2009-11-18 22:53:05 +00:00
Oleksandr Tymoshenko
51d85c463d - Add cpu_init_interrupts function that is supposed to
prepeare stuff required for spinning out interrupts later
- Add API for managing intrcnt/intrnames arrays
- Some minor style(9) fixes
2009-11-18 22:52:05 +00:00
Neel Natu
b3d4d25037 Make pmap_copy_page() L2-cache friendly by doing the copy through the
cacheable window on physical memory (KSEG0). On the Sibyte processor
going through the uncacheable window (KSEG1) bypasses both L1 and L2
caches so we may end up with stale contents in the L2 cache.

This also makes it consistent with the rest of the function that
uses cacheable mappings to copy pages.

Approved by: imp (mentor)
2009-11-13 09:24:09 +00:00
Oleksandr Tymoshenko
04709b7c07 - Reorganize hints according to if_arge changes: set media
for multiPHY MAC and use mask to specify PHYs.
2009-11-12 21:33:36 +00:00
Oleksandr Tymoshenko
2b8344b8fa - Handle multiphy MAC case: create interface with
fixed-state media with parameters set via hints
    and configure MAC accordingly to these parameters.
    All the underlying PHY magic is done by boot manager
    on startup. At the moment there is no proper way
    to make active and control all PHYs simultaneously
    from one MII bus and there is no way to associate
    incoming/outgoing packet with specific PHY.
2009-11-12 21:27:58 +00:00
Oleksandr Tymoshenko
445ee40baa - include register definitions for respective controllers 2009-11-12 20:48:04 +00:00
Oleksandr Tymoshenko
874108aed9 MFC @199204 2009-11-12 00:36:22 +00:00
Randall Stewart
e7e9513453 My NFS configured version. 2009-11-11 22:37:17 +00:00
Randall Stewart
4ba9b90b06 Ok set in the values in clock 7 as in the
original codes (I had changed one by accident)
Also do the pic_ack/pic_delayed_ack after the interrupt
so we clear it. The clock with these changes starts working.
Its off doing a short/long short/long warning but it
now runs.

My NFS mount now works but has the same problem with
sbin/init (errno 8 ENOEXEC) so it panics with no init.

Either this is a problem with my buildworld.. OR its a
yet undiscovered RMI issue.
2009-11-11 22:36:19 +00:00
Konstantin Belousov
a7b890448c Extract the code that records syscall results in the frame into MD
function cpu_set_syscall_retval().

Suggested by:	marcel
Reviewed by:	marcel, davidxu
PowerPC, ARM, ia64 changes:	marcel
Sparc64 tested and reviewed by:	marius, also sunv reviewed
MIPS tested by:	gonzo
MFC after:	1 month
2009-11-10 11:43:07 +00:00
Oleksandr Tymoshenko
950e46c329 Unbreak booting of FreeBSD/mips by merging r195429 from projects/mips:
- Move dpcpu initialization to mips_proc0_init. It's
    more appropriate place for it. Besides dpcpu_init
    requires pmap module to be initialized and calling it
    int pmap.c hangs the system
2009-11-09 22:01:58 +00:00
Randall Stewart
4e07ba9045 Ok it helps if you add the bootp options too
so that you can get an address ;-)
2009-11-09 19:56:53 +00:00
Randall Stewart
638c9101a0 Try moving to NFS mount of entire root 2009-11-09 19:26:28 +00:00
Randall Stewart
399804b73b Ok we need to have the clock handlers has filters. This
gets us up to a mount request :-)
2009-11-09 19:25:30 +00:00
Randall Stewart
01f43c2740 a little more paran's 2009-11-09 19:22:57 +00:00
Randall Stewart
4c01ca5a19 White space changes. 2009-11-09 16:43:02 +00:00
Randall Stewart
e20f0d885e - Comment out recrusive call to setup interrupt.
- Change the way we pass the irq.
2009-11-09 16:42:08 +00:00
Oleksandr Tymoshenko
619ddb52b5 - Add arge1 to hints files, only one port is supported so far 2009-11-08 07:31:42 +00:00
Oleksandr Tymoshenko
bec244c750 - Access to all 5 PHYs goes through registers in MAC0 memory
space, rewrite miibus accessors respectively
2009-11-08 07:26:02 +00:00
Oleksandr Tymoshenko
40a554d7ac - Fix: Wrong register is used for initial value reading 2009-11-06 21:53:38 +00:00
Randall Stewart
eac3c4cd27 Ok With this commit we actually get through
the mi_startup (or to the last of it).. and
hit a panic after :

uart0: <16550 or compatible> on iodi0
Trap cause = 2 (TLB miss....)

I did have to take the pci bus OUT of the
build to get this far, hit a cache error with
the PCI code in. Interesting thing is the machine
reboots too ;-)
2009-11-06 12:52:51 +00:00
Oleksandr Tymoshenko
6450bdc708 - Fix initialization of PLL registers (different shifts for
arge0/arge1)
- Use base MAC address to generate MACs for arge1 and above
2009-11-06 06:50:45 +00:00
Randall Stewart
798abe2fe1 For XLR adds extern for its bus space routines 2009-11-05 18:15:47 +00:00
Randall Stewart
a856badbb2 white space changes 2009-11-05 18:15:16 +00:00
Randall Stewart
7a7f91f61b ok we now get so that the uart init's and we can print. We
cannot set baud rate as they did in 6.4, this hoses things and
we loose our 38400 default term.

We now lock somewhere in tcinit.
2009-11-05 18:14:25 +00:00
Oleksandr Tymoshenko
d6994d3b0e - Replace dumb cut'n'paste call with not to self (XXX) 2009-11-05 03:54:03 +00:00
Oleksandr Tymoshenko
896ef84ff0 - style(9): replace whitespaces with tabs 2009-11-04 23:34:58 +00:00
Oleksandr Tymoshenko
a0d684a583 - Remove noisy "Implement me" stubs
- Handle SIOCSIFFLAGS ioctl
2009-11-04 23:33:36 +00:00
Oleksandr Tymoshenko
3682174ee5 - Handle errors when adding children to nexus. This sittuation
might occure when there is dublicate of child's entry in hints
2009-11-03 06:42:55 +00:00
Randall Stewart
45ab86915b adds XLR config 2009-11-02 15:43:54 +00:00
Randall Stewart
037a5859a0 Fix spacing 2009-11-02 15:08:59 +00:00
Randall Stewart
8fae280afb With this commit our friend RMI will now compile. I have
not tested it and the chances of it running yet are about
ZERO.. but it will now compile. The hard part now begins,
 making it run ;-)
2009-10-30 08:53:11 +00:00
Oleksandr Tymoshenko
12dfccb876 - Fix build with DEVICE_POLLING enabled 2009-10-30 01:40:32 +00:00
Warner Losh
87d11f28e2 Add some newer MIPS CO cores. 2009-10-30 00:37:50 +00:00
Warner Losh
485619feed db_expr_t is really closer to a register_t.
Submitted by:	bde@
2009-10-30 00:37:04 +00:00
Randall Stewart
748ad3c4ee adds rmi specific mips extensions file and makes sure
the includes point to the new place.
2009-10-29 21:30:21 +00:00
Randall Stewart
f40c80b188 White space changes 2009-10-29 21:14:10 +00:00
Randall Stewart
6e3272ee6f more Updates on the RMI code close to compiling now ;-) 2009-10-29 15:55:25 +00:00
Neel Natu
131ec9efd8 Deal with overflow of the COUNT register correctly. The 'cycles_per_hz'
has nothing to do with the rollover.

Approved by: imp (mentor)
2009-10-29 05:18:02 +00:00
Andrew Thompson
64ec125306 Fix build from r198563 (again). Sigh. 2009-10-28 21:41:23 +00:00
Andrew Thompson
394bd883ea Fix build from r198563 2009-10-28 21:39:33 +00:00
Andrew Thompson
d1c3ac3a7a Use init_static_kenv() and setenv() to simplify the environment string handling. 2009-10-28 21:36:46 +00:00
Andrew Thompson
3c2330f2e4 Parse and save the command line passed in from RedBoot (exec -c "xxx") and also
the board specific environment variables.

This is not ar71xx specific and should be shared better.
2009-10-28 21:27:56 +00:00
Warner Losh
5919fef7ac Remove useless for statement. i isn't used after it.
Remove needless braces.
2009-10-28 17:03:20 +00:00
Oleksandr Tymoshenko
1453f4e112 - Fix busdma sync: dcache invalidation operates on cache line aligned
addresses and could modify areas of memory that share the same cache
  line at the beginning and at the ending of the buffer. In order to
  prevent a data loss we save these chunks in temporary buffer before
  invalidation and restore them afer it.

Idea suggested by: cognet
2009-10-28 03:34:05 +00:00
Oleksandr Tymoshenko
0ffd7b6759 - Remove bunch of declared but not defined cach-related variables
- Add mips_picache_linesize and mips_pdcache_linesize variables
2009-10-28 00:01:20 +00:00
Oleksandr Tymoshenko
7e60d1a36c - Replace stubs with actual cache info
- minor style(9) fix
2009-10-27 23:45:48 +00:00
Konstantin Belousov
d6e029adbe In r197963, a race with thread being selected for signal delivery
while in kernel mode, and later changing signal mask to block the
signal, was fixed for sigprocmask(2) and ptread_exit(3). The same race
exists for sigreturn(2), setcontext(2) and swapcontext(2) syscalls.

Use kern_sigprocmask() instead of direct manipulation of td_sigmask to
reschedule newly blocked signals, closing the race.

Reviewed by:	davidxu
Tested by:	pho
MFC after:	1 month
2009-10-27 10:47:58 +00:00
Randall Stewart
ee09312370 White space changes. 2009-10-26 11:00:37 +00:00