Commit Graph

42058 Commits

Author SHA1 Message Date
shige
ad1152f593 Using GPIO bus. 2006-03-14 21:59:12 +00:00
cube
7e4eb63d0d We really have EM_SPARC binaries in 32-bits mode, not EM_SPARC32PLUS.
And yes, we do have EM_SPARCV9 binaries in 64-bits mode.
2006-03-14 21:37:48 +00:00
christos
064fae4646 Apply patch from Cory Bajus for writing to the RTC 2006-03-14 02:52:48 +00:00
shige
ab1557fd3e Remove obsled devices (using old gpio framework). 2006-03-13 16:20:58 +00:00
shige
61e6e07d5b IBM4xx on-chip GPIO controller applying MI GPIO framework. 2006-03-13 16:17:57 +00:00
shige
17629c725d IBM4xx on-chip GPIO controller apllying MI GPIO framework. 2006-03-13 15:31:11 +00:00
he
343425c577 Add a forward declaration of "struct trapframe", to allow declaration
of a pointer to it in the syscall handling function.
2006-03-13 10:50:16 +00:00
chs
11921f1910 add nfe. 2006-03-12 22:57:01 +00:00
he
9ba1519dcc Now that FROMBCD and TOBCD is in <sys/dev/clock_subr.h>, delete the
local definitions here.
2006-03-12 22:55:19 +00:00
yamt
04ff17cc06 fix mistakes in yamt-uio_vmspace changes. 2006-03-12 22:44:27 +00:00
cube
209be910b7 Support the generation of coredumps for 32-bits binaries under
COMPAT_NETBSD32.  They haven't worked for 5 years.

Silently agreed by the tech-kern readers.

XXX sparc64 MD glue still lacking.
XXX The FPU registers on i386 are not dumped correctly, according to my
XXX tests.  It shouldn't be much work for someone who has the slightest
XXX idea of how that stuff is supposed to be laid out on i386.
2006-03-12 20:25:25 +00:00
matt
5c53cf65da Fix various places where assignment happen to casted lvalues.
(t)v = foo; is not legal C.
2006-03-12 17:14:41 +00:00
christos
8958999012 welcome to syscall_intern. 2006-03-12 02:04:26 +00:00
kleink
f027f13a5f Make this build again with RESIDUAL_DATA_DUMP defined. 2006-03-11 20:12:49 +00:00
kleink
31930d4de5 Provide BCD<->binary conversion in libkern and turn <dev/clock_subr.h>'s
FROMBCD()/TOBCD() macros into wrappers around it, resulting in both
smaller code footprint and elimination of possible issues due to
multiple evaluation of macro arguments.

Suggested by Simon Burge and Anders Gavare on tech-kern.
2006-03-11 15:40:07 +00:00
simonb
c66cd10ee8 Trim use of "volatile" a little. 2006-03-11 14:07:35 +00:00
simonb
fd0ea3e657 Remove some blank lines. 2006-03-11 13:56:18 +00:00
simonb
e30b0d0cb4 Use syscall_intern() to give a process a plain or fancy syscall,
moving system call functionality from trap.c to new syscall.c
Split out userret from trap.c to <machine/userret.h> and use
mi_userret().
This gets approx 20% speed improvement (45us to 36us) with lmbench's
"lat_syscall null" benchmark(!).
2006-03-11 13:52:58 +00:00
scw
12dc74f622 RB_POWERDOWN trumps RB_HALT. 2006-03-11 09:09:41 +00:00
jmcneill
5e2e06bb91 We shouldn't have to manually edit acpi_wakecode.h after it has been
regenerated. Pad wakecode with "0x00" rather than "0x  ".
2006-03-11 00:31:42 +00:00
he
0bb12d5132 Remove include of <prep/dev/obiovar.h>, as that file no longer exists,
and this file does apparently not need it.
2006-03-10 17:19:46 +00:00
uwe
042caffba8 XXX: #undef SET before including <machine/config_hook.h>, which defines
SET as a nickname for CONFIG_HOOK_SET to be used in kernel config files.
Makes ioconf.c compile again.
2006-03-09 23:41:13 +00:00
macallan
934c5059a7 add commented out DBRI_* options 2006-03-09 20:58:40 +00:00
garbled
7001ea36f9 Make INSTALL compile again with the new changes. Try to clean it up a
little too.
2006-03-09 20:58:12 +00:00
macallan
494a6eb736 default to sun terminal emulation, add DBRI_* options and comments 2006-03-09 20:58:00 +00:00
gdamore
08f478e5ab Fix the RTC so that the AU1550 keeps accurate time. The RTC is taken from
the TOY register, which is presumed to be seconds since Jan. 1 2000.

For now I'm assuming the trim divider is 32K, which makes 1 tick per sec.
This is true for the DBAU1550 board at least.  Other boards might need to
initialize a reasonable trim counter and establish the 32KHz oscillator.

In any case, this code is *no worse* on older systems than what was there
before.
2006-03-09 20:42:18 +00:00
garbled
fbf9d81aaf Deleting this kernel. These days it looks pretty much identical to
GENERIC.. so I'm not sure what it is supposed to be an example of.
2006-03-09 20:22:52 +00:00
garbled
1dd8b98704 Prep super-commit:
1) create new pnpbus psuedo bus.  This is a bus layer that reads the PNP
tree from the residual data and allows attachment of devices with the
information given therein.  Based loosely on i386/pnpbios.

2) Delete obio bus, as with the pnp bus we no longer need it.

3) Create a number of functions that gather the information needed to set
up the machine from the residual data, rather than hardcoding it in.

4) Create a quirk table for machines that are bizzare enough that the
residual information is not sufficient.  (such as the 6015)

5) Using the data gathering routines and the quirk table, delete struct
platform completely from the architecture.  Prep is now almost completely
dynamic in figuring out the machine it is running on and setting things
up properly.

6) Add a wdc_pnpbus driver which attaches the wdc controller found on
some 7248's and the 6015.  This replaces the now-defunct wdc_obio.

7) delete all the mot_* and ibm_* files, and replace them with a single
ibm_machdep.c which only contains the quirk functions for the 6015 and
the 6050.

8) Modify GENERIC to work with all this stuff.
2006-03-09 20:17:27 +00:00
he
f45aef6127 Remove now-unused local variable. 2006-03-09 18:50:17 +00:00
he
cbc9e47bd2 Give it 10000 bytes more SYMTAB_SPACE, so that it fits again. 2006-03-09 18:48:20 +00:00
wiz
009e260f10 Fix a URL. From OKANO Takayoshi in PR 33001. 2006-03-09 18:07:53 +00:00
hubertf
164b476f23 Add & enable smbfs
Patch by Michael-John Turner <mj@turner.org.za> on port-sparc64@,

Reviewed & OK'd by martin@
2006-03-09 11:38:15 +00:00
lukem
a1f606d3fd Use the SI capitalization for "Hz", "kHz", and "MHz" in comments and strings.
Add a space between numbers and Hz unit.
2006-03-08 23:46:22 +00:00
scottr
9e93b0c323 Cleaner check for offset to grf_mmap 2006-03-08 23:37:15 +00:00
dyoung
fe756b012b config(8) creates opt_ah.h, no need to do so here. 2006-03-08 17:06:07 +00:00
dyoung
f2746f1ea3 No need to create opt_ah.h here, config(8) takes care of it. 2006-03-08 17:03:13 +00:00
nathanw
422fd73258 This copy of bus_dma.c is unused; evbppc ports have referenced
powerpc/powerpc/bus_dma.c for over two years.
2006-03-08 15:18:39 +00:00
he
927b30ab63 Remove yet another instance of the macro triplet SET/CLR/ISSET, now
found in <sys/types.h>.
2006-03-08 12:10:58 +00:00
he
5bc221cbe3 Remove yet another instance of the macro triplet SET/CLR/ISSET, now
found in <sys/types.h>.
2006-03-08 10:48:40 +00:00
sekiya
11927f82ba The network bootloader entry point should be nisse(), not start(). Fixes a
very long-standing netboot issue.

Patch contributed by Hans Rosenfeld.
2006-03-08 09:32:22 +00:00
dyoung
cafe884d2c Change macro names to avoid collisions:
BIT -> __BIT
BITS -> __BITS
2006-03-08 08:26:50 +00:00
christos
93edf29420 Fix clock reading problem on turbo nexts and color slabs. First
reported by: Timm Wetzel twetzel at gwdg.de on 2001-06-22, and now
again by: Cory Bajus cbajus at mts.net
2006-03-08 03:29:49 +00:00
christos
f02eb7273c rename ISSET to ISBITSET. 2006-03-08 02:10:04 +00:00
macallan
d443f196f2 report lid and AC power state to sysmon 2006-03-08 01:17:49 +00:00
dyoung
f66403a698 Move my bit-twiddling macros to libkern.h from my drivers, where
I had duplicated them.  Improve the macros' names.  Simplify their
implementation.

A brief description of each macro is below.

        BIT(n): Return a bitmask with bit m set, where the least
                significant bit is bit 0.

        BITS(m, n): Return a bitmask with bits m through n, inclusive,
                    set.  It does not matter whether m>n or m<=n.
                    The least significant bit is bit 0.

        A "bitfield" is a span of consecutive bits defined by a
        bitmask, where 1s select the bits in the bitfield.  SHIFTIN,
        SHIFTOUT, and SHIFTOUT_MASK help read and write bitfields
        from device registers.

        SHIFTIN(v, mask): Left-shift bits `v' into the bitfield
                          defined by `mask', and return them.  No
                          side-effects.

        SHIFTOUT(v, mask): Extract and return the bitfield selected
                           by `mask' from `v', right-shifting the
                           bits so that the rightmost selected bit
                           is at bit 0.  No side-effects.

        SHIFTOUT_MASK(mask): Right-shift the bits in `mask' so that
                             the rightmost non-zero bit is at bit
                             0.  This is useful for finding the
                             greatest unsigned value that a bitfield
                             can hold.  No side-effects.  Note that
                             SHIFTOUT_MASK(m) = SHIFTOUT(m, m).

Examples:

/*
 * Register definitions taken from the RFMD RF3000 manual.
 */
#define RF3000_GAINCTL          0x11            /* TX variable gain control */
#define         RF3000_GAINCTL_TXVGC_MASK       BITS(7, 2)
#define         RF3000_GAINCTL_SCRAMBLER        BIT(1)

/*
 * Shift the transmit power into the transmit-power field of the
 * gain-control register and write it to the baseband processor.
 */
atw_rf3000_write(sc, RF3000_GAINCTL,
    SHIFTIN(txpower, RF3000_GAINCTL_TXVGC_MASK));


/*
 * Register definitions taken from the ADMtek ADM8211 manual.
 *
 */
#define ATW_RXSTAT_OWN          BIT(31)         /* 1: NIC may fill descriptor */
/* ... */
#define ATW_RXSTAT_DA1          BIT(17)         /* DA bit 1, admin'd address */
#define ATW_RXSTAT_DA0          BIT(16)         /* DA bit 0, group address */
#define ATW_RXSTAT_RXDR_MASK    BITS(15,12)     /* RX data rate */
#define ATW_RXSTAT_FL_MASK      BITS(11,0)      /* RX frame length, last
                                                 * descriptor only
                                                 */

/* Extract the frame length from the Rx descriptor's
 * status field.
 */
len = SHIFTOUT(rxstat, ATW_RXSTAT_FL_MASK);
2006-03-08 00:24:06 +00:00
he
8aa8bfed52 Remove another instance of the macro triplet SET/CLR/ISSET, now
found in <sys/types.h>.
2006-03-07 23:32:53 +00:00
he
ed846418fd Remove unused ISSET macro. 2006-03-07 23:30:19 +00:00
he
488517487a Conditionally undefine ISSET before defining it locally with
different expansion (tests a given bit number).
2006-03-07 23:26:24 +00:00
he
81afc84174 Remove another instance of the macro triplet SET/CLR/ISSET, now
found in <sys/types.h>.
2006-03-07 23:19:05 +00:00
he
fa612b7436 Remove local ISSET macro definition. 2006-03-07 23:18:31 +00:00