diff options
Diffstat (limited to 'usr/src')
-rw-r--r-- | usr/src/boot/Makefile.version | 2 | ||||
-rw-r--r-- | usr/src/boot/sys/boot/efi/loader/comconsole.c | 63 | ||||
-rw-r--r-- | usr/src/boot/sys/boot/i386/libi386/comconsole.c | 48 | ||||
-rw-r--r-- | usr/src/head/floatingpoint.h | 2 | ||||
-rw-r--r-- | usr/src/lib/libc/port/fp/sigfpe.c | 5 | ||||
-rw-r--r-- | usr/src/lib/libumem/common/vmem.c | 18 | ||||
-rw-r--r-- | usr/src/man/man1m/ipadm.1m | 12 | ||||
-rw-r--r-- | usr/src/man/man3c/sigfpe.3c | 14 | ||||
-rw-r--r-- | usr/src/uts/common/inet/nca/ncaddi.c | 16 | ||||
-rw-r--r-- | usr/src/uts/common/io/mii/mii.c | 6 | ||||
-rw-r--r-- | usr/src/uts/common/io/mr_sas/mr_sas.c | 12 | ||||
-rw-r--r-- | usr/src/uts/common/io/nxge/nxge_mac.c | 39 | ||||
-rw-r--r-- | usr/src/uts/common/io/ptm.c | 33 | ||||
-rw-r--r-- | usr/src/uts/common/io/pts.c | 35 | ||||
-rw-r--r-- | usr/src/uts/common/io/tty_pts.c | 12 | ||||
-rw-r--r-- | usr/src/uts/common/sys/ieeefp.h | 6 |
16 files changed, 188 insertions, 135 deletions
diff --git a/usr/src/boot/Makefile.version b/usr/src/boot/Makefile.version index 5b10c5b63d..646545a76c 100644 --- a/usr/src/boot/Makefile.version +++ b/usr/src/boot/Makefile.version @@ -33,4 +33,4 @@ LOADER_VERSION = 1.1 # Use date like formatting here, YYYY.MM.DD.XX, without leading zeroes. # The version is processed from left to right, the version number can only # be increased. -BOOT_VERSION = $(LOADER_VERSION)-2019.02.26.2 +BOOT_VERSION = $(LOADER_VERSION)-2019.03.07.1 diff --git a/usr/src/boot/sys/boot/efi/loader/comconsole.c b/usr/src/boot/sys/boot/efi/loader/comconsole.c index c46971eeda..6f3eed7aa1 100644 --- a/usr/src/boot/sys/boot/efi/loader/comconsole.c +++ b/usr/src/boot/sys/boot/efi/loader/comconsole.c @@ -28,6 +28,7 @@ #include <stand.h> #include <sys/errno.h> #include <bootstrap.h> +#include <stdbool.h> #include <efi.h> #include <efilib.h> @@ -59,7 +60,7 @@ static void comc_putchar(struct console *, int); static int comc_getchar(struct console *); static int comc_ischar(struct console *); static int comc_ioctl(struct console *, int, void *); -static void comc_setup(struct console *); +static bool comc_setup(struct console *); static char *comc_asprint_mode(struct serial *); static int comc_parse_mode(struct serial *, const char *); static int comc_mode_set(struct env_var *, int, const void *); @@ -243,18 +244,20 @@ comc_probe(struct console *cp) port->rtsdtr_off? "true" : "false"); unsetenv(name); env_setenv(name, EV_VOLATILE, value, comc_rtsdtr_set, env_nounset); - comc_setup(cp); + + cp->c_flags = 0; + if (comc_setup(cp)) + cp->c_flags = C_PRESENTIN | C_PRESENTOUT; } static int comc_init(struct console *cp, int arg __attribute((unused))) { - comc_setup(cp); - - if ((cp->c_flags & (C_PRESENTIN | C_PRESENTOUT)) == - (C_PRESENTIN | C_PRESENTOUT)) + if (comc_setup(cp)) return (CMD_OK); + + cp->c_flags = 0; return (CMD_ERROR); } @@ -495,7 +498,8 @@ comc_mode_set(struct env_var *ev, int flags, const void *value) if (comc_parse_mode(cp->c_private, value) == CMD_ERROR) return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); return (CMD_OK); @@ -521,7 +525,8 @@ comc_cd_set(struct env_var *ev, int flags, const void *value) else return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); return (CMD_OK); @@ -547,50 +552,48 @@ comc_rtsdtr_set(struct env_var *ev, int flags, const void *value) else return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); + env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); return (CMD_OK); } -static void +/* + * In case of error, we also reset ACTIVE flags, so the console + * framefork will try alternate consoles. + */ +static bool comc_setup(struct console *cp) { EFI_STATUS status; UINT32 control; struct serial *sp = cp->c_private; - if ((cp->c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) - return; - /* port is not usable */ - if (sp->sio == NULL) { - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); - return; - } + if (sp->sio == NULL) + return (false); - cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT); status = sp->sio->Reset(sp->sio); - if (EFI_ERROR(status)) { - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); - } + if (EFI_ERROR(status)) + return (false); status = sp->sio->SetAttributes(sp->sio, sp->baudrate, 0, 0, sp->parity, sp->databits, sp->stopbits); - if (EFI_ERROR(status)) { - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); - } + if (EFI_ERROR(status)) + return (false); if (sp->rtsdtr_off) { status = sp->sio->GetControl(sp->sio, &control); - if (EFI_ERROR(status)) { - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); - } + if (EFI_ERROR(status)) + return (false); control &= ~(EFI_SERIAL_REQUEST_TO_SEND | EFI_SERIAL_DATA_TERMINAL_READY); status = sp->sio->SetControl(sp->sio, control); - if (EFI_ERROR(status)) { - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); - } + if (EFI_ERROR(status)) + return (false); } + /* Mark this port usable. */ + cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT); + return (true); } diff --git a/usr/src/boot/sys/boot/i386/libi386/comconsole.c b/usr/src/boot/sys/boot/i386/libi386/comconsole.c index ab309c1aca..a1e120a692 100644 --- a/usr/src/boot/sys/boot/i386/libi386/comconsole.c +++ b/usr/src/boot/sys/boot/i386/libi386/comconsole.c @@ -27,6 +27,7 @@ #include <stand.h> #include <bootstrap.h> +#include <stdbool.h> #include <machine/cpufunc.h> #include <dev/ic/ns16550.h> #include <dev/pci/pcireg.h> @@ -77,7 +78,7 @@ static int comc_ioctl(struct console *, int, void *); static uint32_t comc_parse_pcidev(const char *); static int comc_pcidev_set(struct env_var *, int, const void *); static int comc_pcidev_handle(struct console *, uint32_t); -static void comc_setup(struct console *); +static bool comc_setup(struct console *); static char *comc_asprint_mode(struct serial *); static int comc_parse_mode(struct serial *, const char *); static int comc_mode_set(struct env_var *, int, const void *); @@ -226,18 +227,20 @@ comc_probe(struct console *cp) unsetenv(name); env_setenv(name, EV_VOLATILE, env, comc_pcidev_set, env_nounset); - comc_setup(cp); + + cp->c_flags = 0; + if (comc_setup(cp)) + cp->c_flags = C_PRESENTIN | C_PRESENTOUT; } static int comc_init(struct console *cp, int arg __attribute((unused))) { - comc_setup(cp); - - if ((cp->c_flags & (C_PRESENTIN | C_PRESENTOUT)) == - (C_PRESENTIN | C_PRESENTOUT)) + if (comc_setup(cp)) return (CMD_OK); + + cp->c_flags = 0; return (CMD_ERROR); } @@ -408,7 +411,7 @@ comc_mode_set(struct env_var *ev, int flags, const void *value) if (comc_parse_mode(cp->c_private, value) == CMD_ERROR) return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); @@ -435,7 +438,7 @@ comc_cd_set(struct env_var *ev, int flags, const void *value) else return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); @@ -462,7 +465,7 @@ comc_rtsdtr_set(struct env_var *ev, int flags, const void *value) else return (CMD_ERROR); - comc_setup(cp); + (void) comc_setup(cp); env_setenv(ev->ev_name, flags | EV_NOHOOK, value, NULL, NULL); @@ -539,7 +542,8 @@ comc_pcidev_handle(struct console *cp, uint32_t locator) } port &= PCIM_BAR_IO_BASE; - comc_setup(cp); + (void) comc_setup(cp); + sp->locator = locator; return (CMD_OK); @@ -572,15 +576,24 @@ comc_pcidev_set(struct env_var *ev, int flags, const void *value) return (CMD_OK); } -static void +/* + * In case of error, we also reset ACTIVE flags, so the console + * framefork will try alternate consoles. + */ +static bool comc_setup(struct console *cp) { struct serial *sp = cp->c_private; static int TRY_COUNT = 1000000; int tries; - if ((cp->c_flags & (C_ACTIVEIN | C_ACTIVEOUT)) == 0) - return; +#define COMC_TEST 0xbb + /* + * Write byte to scratch register and read it out. + */ + outb(sp->ioaddr + com_scr, COMC_TEST); + if (inb(sp->ioaddr + com_scr) != COMC_TEST) + return (false); outb(sp->ioaddr + com_cfcr, CFCR_DLAB | sp->lcr); outb(sp->ioaddr + com_dlbl, COMC_BPS(sp->speed) & 0xff); @@ -594,10 +607,11 @@ comc_setup(struct console *cp) inb(sp->ioaddr + com_data); } while (inb(sp->ioaddr + com_lsr) & LSR_RXRDY && ++tries < TRY_COUNT); - if (tries < TRY_COUNT) - cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT); - else - cp->c_flags &= ~(C_PRESENTIN | C_PRESENTOUT); + if (tries == TRY_COUNT) + return (false); + /* Mark this port usable. */ + cp->c_flags |= (C_PRESENTIN | C_PRESENTOUT); + return (true); } static int diff --git a/usr/src/head/floatingpoint.h b/usr/src/head/floatingpoint.h index 1935b611c6..c8d658cc83 100644 --- a/usr/src/head/floatingpoint.h +++ b/usr/src/head/floatingpoint.h @@ -62,8 +62,6 @@ extern "C" { typedef __FILE FILE; #endif -#define N_IEEE_EXCEPTION 5 /* Number of floating-point exceptions. */ - typedef int sigfpe_code_type; /* Type of SIGFPE code. */ typedef void (*sigfpe_handler_type)(); /* Pointer to exception handler */ diff --git a/usr/src/lib/libc/port/fp/sigfpe.c b/usr/src/lib/libc/port/fp/sigfpe.c index 9b1942423f..dca4e3428a 100644 --- a/usr/src/lib/libc/port/fp/sigfpe.c +++ b/usr/src/lib/libc/port/fp/sigfpe.c @@ -150,6 +150,11 @@ _sigfpe_master(int sig, siginfo_t *siginfo, void *arg) case FPE_FLTOVF: exception = fp_overflow; goto ieee; +#if defined(__i386) || defined(__amd64) + case FPE_FLTDEN: + exception = fp_denormalized; + goto ieee; +#endif default: /* The common default treatment is to abort. */ break; } diff --git a/usr/src/lib/libumem/common/vmem.c b/usr/src/lib/libumem/common/vmem.c index c868e42977..f66cccc698 100644 --- a/usr/src/lib/libumem/common/vmem.c +++ b/usr/src/lib/libumem/common/vmem.c @@ -23,6 +23,7 @@ * Copyright 2008 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * Copyright 2012 Joyent, Inc. All rights reserved. + * Copyright (c) 2017 by Delphix. All rights reserved. */ /* @@ -458,12 +459,12 @@ vmem_span_create(vmem_t *vmp, void *vaddr, size_t size, uint8_t import) span = vmem_seg_create(vmp, knext->vs_aprev, start, end); span->vs_type = VMEM_SPAN; + span->vs_import = import; VMEM_INSERT(knext->vs_kprev, span, k); newseg = vmem_seg_create(vmp, span, start, end); vmem_freelist_insert(vmp, newseg); - newseg->vs_import = import; if (import) vmp->vm_kstat.vk_mem_import += size; vmp->vm_kstat.vk_mem_total += size; @@ -483,7 +484,7 @@ vmem_span_destroy(vmem_t *vmp, vmem_seg_t *vsp) ASSERT(MUTEX_HELD(&vmp->vm_lock)); ASSERT(span->vs_type == VMEM_SPAN); - if (vsp->vs_import) + if (span->vs_import) vmp->vm_kstat.vk_mem_import -= size; vmp->vm_kstat.vk_mem_total -= size; @@ -686,7 +687,8 @@ vmem_advance(vmem_t *vmp, vmem_seg_t *walker, vmem_seg_t *afterme) * vsp could represent a complete imported span, * in which case we must return it to the source. */ - if (vsp != NULL && vsp->vs_import && vmp->vm_source_free != NULL && + if (vsp != NULL && vsp->vs_aprev->vs_import && + vmp->vm_source_free != NULL && vsp->vs_aprev->vs_type == VMEM_SPAN && vsp->vs_anext->vs_type == VMEM_SPAN) { void *vaddr = (void *)vsp->vs_start; @@ -813,7 +815,7 @@ vmem_nextfit_alloc(vmem_t *vmp, size_t size, int vmflag) */ void * vmem_xalloc(vmem_t *vmp, size_t size, size_t align, size_t phase, - size_t nocross, void *minaddr, void *maxaddr, int vmflag) + size_t nocross, void *minaddr, void *maxaddr, int vmflag) { vmem_seg_t *vsp; vmem_seg_t *vbest = NULL; @@ -1040,7 +1042,7 @@ vmem_xfree(vmem_t *vmp, void *vaddr, size_t size) /* * If the entire span is free, return it to the source. */ - if (vsp->vs_import && vmp->vm_source_free != NULL && + if (vsp->vs_aprev->vs_import && vmp->vm_source_free != NULL && vsp->vs_aprev->vs_type == VMEM_SPAN && vsp->vs_anext->vs_type == VMEM_SPAN) { vaddr = (void *)vsp->vs_start; @@ -1364,7 +1366,7 @@ _vmem_extend_alloc(vmem_t *vmp, void *vaddr, size_t size, size_t alloc, */ void vmem_walk(vmem_t *vmp, int typemask, - void (*func)(void *, void *, size_t), void *arg) + void (*func)(void *, void *, size_t), void *arg) { vmem_seg_t *vsp; vmem_seg_t *seg0 = &vmp->vm_seg0; @@ -1428,8 +1430,8 @@ vmem_size(vmem_t *vmp, int typemask) */ vmem_t * vmem_create(const char *name, void *base, size_t size, size_t quantum, - vmem_alloc_t *afunc, vmem_free_t *ffunc, vmem_t *source, - size_t qcache_max, int vmflag) + vmem_alloc_t *afunc, vmem_free_t *ffunc, vmem_t *source, + size_t qcache_max, int vmflag) { int i; size_t nqcache; diff --git a/usr/src/man/man1m/ipadm.1m b/usr/src/man/man1m/ipadm.1m index 9935c346e9..0381aa130d 100644 --- a/usr/src/man/man1m/ipadm.1m +++ b/usr/src/man/man1m/ipadm.1m @@ -13,6 +13,7 @@ .\" Copyright (c) 2013 by Delphix. All rights reserved. .\" Copyright 2018 Nexenta Systems, Inc. .\" Copyright (c) 2016-2017, Chris Fraire <cfraire@me.com>. +.\" Copyright 2019 OmniOS Community Edition (OmniOSce) Association. .\" .Dd February 6, 2018 .Dt IPADM 1M @@ -788,6 +789,17 @@ Packet forwarding .Pq Cm on Ns / Ns Cm off . .It Cm hoplimit The IPv6 hoplimit. +.It Cm hostmodel +IP packet handling on multi-homed systems +.Pq Cm weak Ns / Ns Cm strong Ns / Ns Cm src-priority +.Pq IPv4/IPv6 . +.Cm weak +and +.Cm strong +correspond to the model definitions defined in RFC 1122. +.Cm src-priority +is a hybrid mode where outbound packets are sent from the interface with the +packet's source address if possible. .It Cm largest_anon_port Largest ephemeral port .Pq SCTP/TCP/UDP . diff --git a/usr/src/man/man3c/sigfpe.3c b/usr/src/man/man3c/sigfpe.3c index 5f40071c75..2067e19301 100644 --- a/usr/src/man/man3c/sigfpe.3c +++ b/usr/src/man/man3c/sigfpe.3c @@ -17,7 +17,6 @@ sigfpe \- signal handling for specific SIGFPE codes .fi .SH DESCRIPTION -.sp .LP The \fBsigfpe()\fR function allows signal handling to be specified for particular \fBSIGFPE\fR codes. A call to \fBsigfpe()\fR defines a new handler @@ -41,6 +40,15 @@ FPE_FLTOVF fp_overflow \(mi floating-point overflow FPE_FLTINV fp_invalid \(mi floating-point invalid operation .fi .in -2 +.LP +And additionally on the x86 architecture: +.sp +.in +2 +.nf +FPE_FLTDEN fp_denormalized \(mi floating-point denormalized result +.fi +.in -2 + .sp .LP @@ -140,7 +148,6 @@ main(void) { .in -2 .SH FILES -.sp .ne 2 .na \fB\fB/usr/include/floatingpoint.h\fR\fR @@ -161,7 +168,6 @@ main(void) { .RE .SH ATTRIBUTES -.sp .LP See \fBattributes\fR(5) for descriptions of the following attributes: .sp @@ -177,12 +183,10 @@ MT-Level Safe .TE .SH SEE ALSO -.sp .LP \fBsigaction\fR(2), \fBabort\fR(3C), \fBsignal\fR(3C), \fBattributes\fR(5), \fBfloatingpoint.h\fR(3HEAD) .SH DIAGNOSTICS -.sp .LP The \fBsigfpe()\fR function returns (void(*)())-1 if \fIcode\fR is not zero or a defined \fBSIGFPE\fR code. diff --git a/usr/src/uts/common/inet/nca/ncaddi.c b/usr/src/uts/common/inet/nca/ncaddi.c index e4fa85ef00..f02924d131 100644 --- a/usr/src/uts/common/inet/nca/ncaddi.c +++ b/usr/src/uts/common/inet/nca/ncaddi.c @@ -90,14 +90,15 @@ nca_close(queue_t *q, int flags __unused, cred_t *credp __unused) return (0); } -static void +static int nca_rput(queue_t *q, mblk_t *mp) { /* Passthrough */ putnext(q, mp); + return (0); } -static void +static int nca_wput(queue_t *q, mblk_t *mp) { struct iocblk *iocp; @@ -106,11 +107,11 @@ nca_wput(queue_t *q, mblk_t *mp) iocp = (struct iocblk *)mp->b_rptr; if (DB_TYPE(mp) == M_IOCTL && iocp->ioc_cmd == NCA_SET_IF) { miocnak(q, mp, 0, ENOTSUP); - return; + return (0); } /* Module, passthrough */ putnext(q, mp); - return; + return (0); } switch (DB_TYPE(mp)) { @@ -121,7 +122,7 @@ nca_wput(queue_t *q, mblk_t *mp) case ND_GET: if (! nd_getset(q, nca_g_nd, mp)) { miocnak(q, mp, 0, ENOENT); - return; + return (0); } qreply(q, mp); break; @@ -134,6 +135,7 @@ nca_wput(queue_t *q, mblk_t *mp) freemsg(mp); break; } + return (0); } static struct module_info info = { @@ -141,11 +143,11 @@ static struct module_info info = { }; static struct qinit rinit = { - (pfi_t)nca_rput, NULL, nca_open, nca_close, NULL, &info + nca_rput, NULL, nca_open, nca_close, NULL, &info }; static struct qinit winit = { - (pfi_t)nca_wput, NULL, nca_open, nca_close, NULL, &info + nca_wput, NULL, nca_open, nca_close, NULL, &info }; struct streamtab ncainfo = { diff --git a/usr/src/uts/common/io/mii/mii.c b/usr/src/uts/common/io/mii/mii.c index b024899783..c2d8e5ad51 100644 --- a/usr/src/uts/common/io/mii/mii.c +++ b/usr/src/uts/common/io/mii/mii.c @@ -24,6 +24,10 @@ */ /* + * Copyright (c) 2018, Joyent, Inc. + */ + +/* * mii - MII/PHY support for MAC drivers * * Utility module to provide a consistent interface to a MAC driver accross @@ -1519,7 +1523,7 @@ debounce: * gigabit modes cannot use legacy parallel detection. */ - if ((ph->phy_type == XCVR_1000T) & + if ((ph->phy_type == XCVR_1000T) && (anexp & MII_AN_EXP_LPCANAN)) { /* check for gige */ diff --git a/usr/src/uts/common/io/mr_sas/mr_sas.c b/usr/src/uts/common/io/mr_sas/mr_sas.c index 41aab85c68..fba65e5e07 100644 --- a/usr/src/uts/common/io/mr_sas/mr_sas.c +++ b/usr/src/uts/common/io/mr_sas/mr_sas.c @@ -98,7 +98,7 @@ static void *mrsas_state = NULL; static volatile boolean_t mrsas_relaxed_ordering = B_TRUE; volatile int debug_level_g = CL_NONE; static volatile int msi_enable = 1; -static volatile int ctio_enable = 1; +static volatile int ctio_enable = 1; /* Default Timeout value to issue online controller reset */ volatile int debug_timeout_g = 0xF0; /* 0xB4; */ @@ -143,7 +143,7 @@ static void mrsas_tran_dmafree(struct scsi_address *, struct scsi_pkt *); static void mrsas_tran_sync_pkt(struct scsi_address *, struct scsi_pkt *); static int mrsas_tran_quiesce(dev_info_t *dip); static int mrsas_tran_unquiesce(dev_info_t *dip); -static uint_t mrsas_isr(); +static uint_t mrsas_isr(caddr_t, caddr_t); static uint_t mrsas_softintr(); static void mrsas_undo_resources(dev_info_t *, struct mrsas_instance *); @@ -2289,7 +2289,7 @@ mrsas_tran_unquiesce(dev_info_t *dip) /* - * mrsas_isr(caddr_t) + * mrsas_isr(caddr_t, caddr_t) * * The Interrupt Service Routine * @@ -2297,8 +2297,9 @@ mrsas_tran_unquiesce(dev_info_t *dip) * */ static uint_t -mrsas_isr(struct mrsas_instance *instance) +mrsas_isr(caddr_t arg1, caddr_t arg2 __unused) { + struct mrsas_instance *instance = (struct mrsas_instance *)arg1; int need_softintr; uint32_t producer; uint32_t consumer; @@ -7352,8 +7353,7 @@ mrsas_add_intrs(struct mrsas_instance *instance, int intr_type) /* Call ddi_intr_add_handler() */ for (i = 0; i < actual; i++) { ret = ddi_intr_add_handler(instance->intr_htable[i], - (ddi_intr_handler_t *)mrsas_isr, (caddr_t)instance, - (caddr_t)(uintptr_t)i); + mrsas_isr, (caddr_t)instance, (caddr_t)(uintptr_t)i); if (ret != DDI_SUCCESS) { con_log(CL_ANN, (CE_WARN, "mrsas_add_intrs:" diff --git a/usr/src/uts/common/io/nxge/nxge_mac.c b/usr/src/uts/common/io/nxge/nxge_mac.c index ab325f3443..291272536d 100644 --- a/usr/src/uts/common/io/nxge/nxge_mac.c +++ b/usr/src/uts/common/io/nxge/nxge_mac.c @@ -2876,7 +2876,7 @@ fail: static int nxge_nlp2020_i2c_read(p_nxge_t nxgep, uint8_t ctrl_port, uint16_t address, - uint16_t reg, uint8_t *data) + uint16_t reg, uint8_t *data) { int phy_dev, phy_reg; uint16_t phy_data = 0; @@ -3953,7 +3953,7 @@ nxge_tn1010_xcvr_init(p_nxge_t nxgep) /* * The following 4 lines actually overwrites what ever the ndd command * has set. For example, by command - * ndd -set /dev/nxge1 adv_autoneg_cap n (n = 0 or 1) + * ndd -set /dev/nxge1 adv_autoneg_cap n (n = 0 or 1) * we could set param_arr[param_autoneg].value to n. However, because * here we assign constants to these parameters, whatever we set with * the "ndd -set" command will be replaced. So command @@ -4314,8 +4314,8 @@ nxge_rx_mac_init(p_nxge_t nxgep) uint8_t portn; npi_handle_t handle; npi_status_t rs = NPI_SUCCESS; - uint16_t *addr16p; - uint16_t addr0, addr1, addr2; + uint16_t *addr16p; + uint16_t addr0, addr1, addr2; xmac_rx_config_t xconfig; bmac_rx_config_t bconfig; @@ -4505,7 +4505,7 @@ nxge_status_t nxge_rx_mac_enable(p_nxge_t nxgep) { npi_handle_t handle; - uint8_t portn; + uint8_t portn; npi_status_t rs = NPI_SUCCESS; nxge_status_t status = NXGE_OK; @@ -5443,7 +5443,7 @@ fail: nxge_status_t nxge_mii_read(p_nxge_t nxgep, uint8_t xcvr_portn, uint8_t xcvr_reg, - uint16_t *value) + uint16_t *value) { npi_status_t rs = NPI_SUCCESS; @@ -5482,7 +5482,7 @@ fail: nxge_status_t nxge_mii_write(p_nxge_t nxgep, uint8_t xcvr_portn, uint8_t xcvr_reg, - uint16_t value) + uint16_t value) { npi_status_t rs = NPI_SUCCESS; @@ -5521,10 +5521,10 @@ fail: /* * Perform write to Clause45 serdes / transceiver device * Arguments: - * xcvr_portn: The IEEE 802.3 Clause45 PHYAD, it is the same as port + * xcvr_portn: The IEEE 802.3 Clause45 PHYAD, it is the same as port * number if nxge_mdio_write is used for accessing the * internal LSIL serdes. Otherwise PHYAD is different - * for different platforms. + * for different platforms. * device: With each PHYAD, the driver can use MDIO to control * multiple devices inside the PHY, here "device" is an * MMD (MDIO managable device). @@ -5534,7 +5534,7 @@ fail: */ nxge_status_t nxge_mdio_read(p_nxge_t nxgep, uint8_t xcvr_portn, uint8_t device, - uint16_t xcvr_reg, uint16_t *value) + uint16_t xcvr_reg, uint16_t *value) { npi_status_t rs = NPI_SUCCESS; @@ -5565,7 +5565,7 @@ fail: nxge_status_t nxge_mdio_write(p_nxge_t nxgep, uint8_t xcvr_portn, uint8_t device, - uint16_t xcvr_reg, uint16_t value) + uint16_t xcvr_reg, uint16_t value) { npi_status_t rs = NPI_SUCCESS; @@ -5597,7 +5597,7 @@ fail: nxge_status_t nxge_mii_check(p_nxge_t nxgep, mii_bmsr_t bmsr, mii_bmsr_t bmsr_ints, - nxge_link_state_t *link_up) + nxge_link_state_t *link_up) { p_nxge_param_t param_arr; p_nxge_stats_t statsp; @@ -6679,8 +6679,8 @@ nxge_link_monitor(p_nxge_t nxgep, link_mon_enable_t enable) * argument to the check_link function. */ if (nxgep->xcvr.check_link) { - timerid = timeout( - (fptrv_t)(nxgep->xcvr.check_link), + timerid = timeout((fptrv_t)(uintptr_t) + (nxgep->xcvr.check_link), nxgep, drv_usectohz(LINK_MONITOR_PERIOD)); MUTEX_ENTER(&nxgep->poll_lock); @@ -8105,7 +8105,7 @@ nxge_scan_ports_phy(p_nxge_t nxgep, p_nxge_hw_list_t hw_p) goto error_exit; } break; - case 1: /* Only one clause45 port */ + case 1: /* Only one clause45 port */ switch (total_phy_fd) { /* Number of clause22 ports */ case 3: /* @@ -8465,7 +8465,8 @@ nxge_is_valid_local_mac(ether_addr_st mac_addr) } static void -nxge_bcm5464_link_led_off(p_nxge_t nxgep) { +nxge_bcm5464_link_led_off(p_nxge_t nxgep) +{ npi_status_t rs = NPI_SUCCESS; uint8_t xcvr_portn; @@ -8635,7 +8636,7 @@ nxge_get_num_of_xaui(uint32_t *port_pma_pmd_dev_id, *num_xaui = 0; if ((port_pma_pmd_dev_id[0] == PHY_BCM8704_FAMILY && - port_pcs_dev_id[0] == PHY_BCM8704_FAMILY) || + port_pcs_dev_id[0] == PHY_BCM8704_FAMILY) || (((port_pma_pmd_dev_id[0] & TN1010_DEV_ID_MASK) == TN1010_DEV_ID) && ((port_pcs_dev_id[0] & TN1010_DEV_ID_MASK) @@ -8748,8 +8749,8 @@ fail: * Teranetics TN1010 PHY chip supports both 1G and 10G modes, this function * figures out the speed of the PHY determined by the autonegotiation * process and sets the following 3 parameters, - * nxgep->mac.portmode - * nxgep->statsp->mac_stats.link_speed + * nxgep->mac.portmode + * nxgep->statsp->mac_stats.link_speed * nxgep->statsp->mac_stats.xcvr_inuse */ static nxge_status_t diff --git a/usr/src/uts/common/io/ptm.c b/usr/src/uts/common/io/ptm.c index dc6c4e64ad..54bcee88bc 100644 --- a/usr/src/uts/common/io/ptm.c +++ b/usr/src/uts/common/io/ptm.c @@ -22,7 +22,7 @@ * Copyright (c) 1988, 2010, Oracle and/or its affiliates. All rights reserved. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ +/* All Rights Reserved */ @@ -146,9 +146,9 @@ int ptm_debug = 0; static int ptmopen(queue_t *, dev_t *, int, int, cred_t *); static int ptmclose(queue_t *, int, cred_t *); -static void ptmwput(queue_t *, mblk_t *); -static void ptmrsrv(queue_t *); -static void ptmwsrv(queue_t *); +static int ptmwput(queue_t *, mblk_t *); +static int ptmrsrv(queue_t *); +static int ptmwsrv(queue_t *); /* * Master Stream Pseudo Terminal Module: stream data structure definitions @@ -165,7 +165,7 @@ static struct module_info ptm_info = { static struct qinit ptmrint = { NULL, - (int (*)()) ptmrsrv, + ptmrsrv, ptmopen, ptmclose, NULL, @@ -174,8 +174,8 @@ static struct qinit ptmrint = { }; static struct qinit ptmwint = { - (int (*)()) ptmwput, - (int (*)()) ptmwsrv, + ptmwput, + ptmwsrv, NULL, NULL, NULL, @@ -462,7 +462,7 @@ ptmptsopencb(ptmptsopencb_arg_t arg) /* * The wput procedure will only handle ioctl and flush messages. */ -static void +static int ptmwput(queue_t *qp, mblk_t *mp) { struct pt_ttys *ptmp; @@ -520,7 +520,7 @@ ptmwput(queue_t *qp, mblk_t *mp) DBG(("got M_IOCTL but no slave\n")); miocnak(qp, mp, 0, EINVAL); PT_EXIT_READ(ptmp); - return; + return (0); } (void) putq(qp, mp); break; @@ -642,7 +642,7 @@ ptmwput(queue_t *qp, mblk_t *mp) qreply(qp, mp); } PT_EXIT_READ(ptmp); - return; + return (0); } DBG(("put msg on master's write queue\n")); (void) putq(qp, mp); @@ -650,6 +650,7 @@ ptmwput(queue_t *qp, mblk_t *mp) } DBG(("return from ptmwput()\n")); PT_EXIT_READ(ptmp); + return (0); } @@ -658,7 +659,7 @@ ptmwput(queue_t *qp, mblk_t *mp) * slave to send any messages queued on its write side to * the read side of this master. */ -static void +static int ptmrsrv(queue_t *qp) { struct pt_ttys *ptmp; @@ -673,6 +674,7 @@ ptmrsrv(queue_t *qp) } PT_EXIT_READ(ptmp); DBG(("leaving ptmrsrv\n")); + return (0); } @@ -682,11 +684,11 @@ ptmrsrv(queue_t *qp) * cannot be sent, leave them on this queue. If priority * messages on this queue, send them to slave no matter what. */ -static void +static int ptmwsrv(queue_t *qp) { struct pt_ttys *ptmp; - mblk_t *mp; + mblk_t *mp; DBG(("entering ptmwsrv\n")); ASSERT(qp->q_ptr); @@ -696,7 +698,7 @@ ptmwsrv(queue_t *qp) if ((mp = getq(qp)) == NULL) { /* If there are no messages there's nothing to do. */ DBG(("leaving ptmwsrv (no messages)\n")); - return; + return (0); } PT_ENTER_READ(ptmp); @@ -723,7 +725,7 @@ ptmwsrv(queue_t *qp) qreply(qp, mp); } PT_EXIT_READ(ptmp); - return; + return (0); } /* * while there are messages on this write queue... @@ -748,4 +750,5 @@ ptmwsrv(queue_t *qp) } while ((mp = getq(qp)) != NULL); DBG(("leaving ptmwsrv\n")); PT_EXIT_READ(ptmp); + return (0); } diff --git a/usr/src/uts/common/io/pts.c b/usr/src/uts/common/io/pts.c index 1bcdc2bcef..d67beb255a 100644 --- a/usr/src/uts/common/io/pts.c +++ b/usr/src/uts/common/io/pts.c @@ -23,7 +23,7 @@ * Use is subject to license terms. */ /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T */ -/* All Rights Reserved */ +/* All Rights Reserved */ @@ -128,9 +128,9 @@ int pts_debug = 0; static int ptsopen(queue_t *, dev_t *, int, int, cred_t *); static int ptsclose(queue_t *, int, cred_t *); -static void ptswput(queue_t *, mblk_t *); -static void ptsrsrv(queue_t *); -static void ptswsrv(queue_t *); +static int ptswput(queue_t *, mblk_t *); +static int ptsrsrv(queue_t *); +static int ptswsrv(queue_t *); /* * Slave Stream Pseudo Terminal Module: stream data structure definitions @@ -146,7 +146,7 @@ static struct module_info pts_info = { static struct qinit ptsrint = { NULL, - (int (*)()) ptsrsrv, + ptsrsrv, ptsopen, ptsclose, NULL, @@ -155,8 +155,8 @@ static struct qinit ptsrint = { }; static struct qinit ptswint = { - (int (*)()) ptswput, - (int (*)()) ptswsrv, + ptswput, + ptswsrv, NULL, NULL, NULL, @@ -504,7 +504,7 @@ ptsclose(queue_t *rqp, int flag, cred_t *credp) * All other messages are queued and the write side * service procedure sends them off to the master side. */ -static void +static int ptswput(queue_t *qp, mblk_t *mp) { struct pt_ttys *ptsp; @@ -530,7 +530,7 @@ ptswput(queue_t *qp, mblk_t *mp) } else freemsg(mp); PT_EXIT_READ(ptsp); - return; + return (0); } if (type >= QPCTL) { @@ -606,7 +606,7 @@ ptswput(queue_t *qp, mblk_t *mp) break; } PT_EXIT_READ(ptsp); - return; + return (0); } switch (type) { @@ -637,9 +637,9 @@ ptswput(queue_t *qp, mblk_t *mp) iocp->ioc_count = 0; qreply(qp, mp); PT_EXIT_READ(ptsp); - return; + return (0); } - + /* FALLTHROUGH */ default: /* * send other messages to the master @@ -651,6 +651,7 @@ ptswput(queue_t *qp, mblk_t *mp) PT_EXIT_READ(ptsp); DBG(("return from ptswput()\n")); + return (0); } @@ -659,7 +660,7 @@ ptswput(queue_t *qp, mblk_t *mp) * master to send any messages queued on its write side to * the read side of this slave. */ -static void +static int ptsrsrv(queue_t *qp) { struct pt_ttys *ptsp; @@ -672,11 +673,12 @@ ptsrsrv(queue_t *qp) if (ptsp->ptm_rdq == NULL) { DBG(("in read srv proc but no master\n")); PT_EXIT_READ(ptsp); - return; + return (0); } qenable(WR(ptsp->ptm_rdq)); PT_EXIT_READ(ptsp); DBG(("leaving ptsrsrv\n")); + return (0); } /* @@ -685,7 +687,7 @@ ptsrsrv(queue_t *qp) * cannot be sent, leave them on this queue. If priority * messages on this queue, send them to master no matter what. */ -static void +static int ptswsrv(queue_t *qp) { struct pt_ttys *ptsp; @@ -715,7 +717,7 @@ ptswsrv(queue_t *qp) freemsg(mp); } PT_EXIT_READ(ptsp); - return; + return (0); } else { ptm_rdq = ptsp->ptm_rdq; } @@ -743,4 +745,5 @@ ptswsrv(queue_t *qp) } DBG(("leaving ptswsrv\n")); PT_EXIT_READ(ptsp); + return (0); } diff --git a/usr/src/uts/common/io/tty_pts.c b/usr/src/uts/common/io/tty_pts.c index 1ea7fed353..57f7a22978 100644 --- a/usr/src/uts/common/io/tty_pts.c +++ b/usr/src/uts/common/io/tty_pts.c @@ -76,7 +76,7 @@ static int ptslrserv(queue_t *); * from this function, it is defined as void here. Kind of icky, but... */ -static void ptslwput(queue_t *q, mblk_t *mp); +static int ptslwput(queue_t *q, mblk_t *mp); static struct module_info ptslm_info = { 0, @@ -98,7 +98,7 @@ static struct qinit ptslrinit = { }; static struct qinit ptslwinit = { - (int (*)())ptslwput, + ptslwput, NULL, NULL, NULL, @@ -384,7 +384,7 @@ ptslclose(queue_t *q, int flag, cred_t *cred) * queue up M_DATA messages for processing by the controller "read" * routine; discard everything else. */ -static void +static int ptslwput(queue_t *q, mblk_t *mp) { struct pty *pty; @@ -449,7 +449,7 @@ ptslwput(queue_t *q, mblk_t *mp) flushq(RD(q), FLUSHDATA); mutex_exit(&pty->ptc_lock); qreply(q, mp); /* give the read queues a crack at it */ - return; + return (0); } else freemsg(mp); break; @@ -466,7 +466,8 @@ ptslwput(queue_t *q, mblk_t *mp) freeb(bp); if (mp == NULL) { mutex_exit(&pty->ptc_lock); - return; /* damp squib of a message */ + /* damp squib of a message */ + return (0); } bp = mp; } @@ -499,6 +500,7 @@ ptslwput(queue_t *q, mblk_t *mp) break; } mutex_exit(&pty->ptc_lock); + return (0); } /* diff --git a/usr/src/uts/common/sys/ieeefp.h b/usr/src/uts/common/sys/ieeefp.h index 9b47e6ce47..2ee4ec4d51 100644 --- a/usr/src/uts/common/sys/ieeefp.h +++ b/usr/src/uts/common/sys/ieeefp.h @@ -27,8 +27,6 @@ #ifndef _SYS_IEEEFP_H #define _SYS_IEEEFP_H -#pragma ident "%Z%%M% %I% %E% SMI" /* SunOS4.0 1.6 */ - #ifdef __cplusplus extern "C" { #endif @@ -60,6 +58,7 @@ enum fp_exception_type { /* exceptions according to bit number */ fp_overflow = 3, fp_invalid = 4 }; +#define N_IEEE_EXCEPTION 5 /* Number of floating-point exceptions. */ enum fp_trap_enable_type { /* trap enable bits according to bit number */ fp_trap_inexact = 0, @@ -93,6 +92,7 @@ enum fp_exception_type { /* exceptions according to bit number */ fp_underflow = 4, fp_inexact = 5 }; +#define N_IEEE_EXCEPTION 6 /* Number of floating-point exceptions. */ enum fp_trap_enable_type { /* trap enable bits according to bit number */ fp_trap_invalid = 0, @@ -109,7 +109,7 @@ enum fp_class_type { /* floating-point classes */ fp_zero = 0, fp_subnormal = 1, fp_normal = 2, - fp_infinity = 3, + fp_infinity = 3, fp_quiet = 4, fp_signaling = 5 }; |