CVS commit: src/sys/kern
Module Name:src Committed By: msaitoh Date: Thu Oct 18 05:44:19 UTC 2018 Modified Files: src/sys/kern: uipc_mbufdebug.c Log Message: KNF. No functional change. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/sys/kern/uipc_mbufdebug.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/kern/uipc_mbufdebug.c diff -u src/sys/kern/uipc_mbufdebug.c:1.6 src/sys/kern/uipc_mbufdebug.c:1.7 --- src/sys/kern/uipc_mbufdebug.c:1.6 Fri Oct 12 05:49:38 2018 +++ src/sys/kern/uipc_mbufdebug.c Thu Oct 18 05:44:19 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: uipc_mbufdebug.c,v 1.6 2018/10/12 05:49:38 msaitoh Exp $ */ +/* $NetBSD: uipc_mbufdebug.c,v 1.7 2018/10/18 05:44:19 msaitoh Exp $ */ /* * Copyright (C) 2017 Internet Initiative Japan Inc. @@ -27,7 +27,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: uipc_mbufdebug.c,v 1.6 2018/10/12 05:49:38 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: uipc_mbufdebug.c,v 1.7 2018/10/18 05:44:19 msaitoh Exp $"); #include #include @@ -144,9 +144,8 @@ m_peek_len(const struct mbuf *m, const c } } - if (opt_c == true) { + if (opt_c == true) return m->m_len; - } if ((m->m_flags & M_PKTHDR) != 0) return m->m_pkthdr.len; @@ -185,6 +184,7 @@ str_ip6addr(const struct in6_addr *ap) static const char * str_ipproto(const uint8_t proto) { + switch (proto) { case IPPROTO_HOPOPTS: return ("IPv6 Hop-by-Hop"); @@ -408,12 +408,11 @@ m_examine_ppp(const struct mbuf *m, int break; case CISCO_MULTICAST: case CISCO_UNICAST: - if (h.address == CISCO_MULTICAST) { + if (h.address == CISCO_MULTICAST) (*pr)("MULTICAST)\n"); - } - else { + else (*pr)("UNICAST)\n"); - } + (*pr)("SPPP: Protocol = %d(", protocol); switch (protocol) { case CISCO_KEEPALIVE: @@ -569,25 +568,20 @@ m_examine_ip(const struct mbuf *m, int o (*pr)("IP: ID = %u\n", ntohs(ip.ip_id)); offset = ntohs(ip.ip_off); (*pr)("IP: Offset = %u\n", (offset & IP_OFFMASK)); - if (offset & IP_RF) { + if (offset & IP_RF) (*pr)("IP: Flag 0x%04x (reserved)\n", IP_RF); - } - if (offset & IP_EF) { + if (offset & IP_EF) (*pr)("IP: Flag 0x%04x (evil flag)\n", IP_EF); - } - if (offset & IP_DF) { + if (offset & IP_DF) (*pr)("IP: Flag 0x%04x (don't fragment)\n", IP_DF); - } - if (offset & IP_MF) { + if (offset & IP_MF) (*pr)("IP: Flag 0x%04x (more fragment)\n", IP_MF); - } (*pr)("IP: TTL = %u\n", ip.ip_ttl); (*pr)("IP: protocol = %u(%s)\n", ip.ip_p, str_ipproto(ip.ip_p)); (*pr)("IP: checksum = 0x%04x\n", ntohs(ip.ip_sum)); (*pr)("IP: Src = %s\n", str_ipaddr(_src)); (*pr)("IP: Dst = %s\n", str_ipaddr(_dst)); - switch (ip.ip_p) { case IPPROTO_ICMP: return m_examine_icmp(m, off, modif, pr); @@ -984,10 +978,8 @@ m_examine_hex(const struct mbuf *m, int if ((newline % EXAMINE_HEX_COL) == 0) { (*pr)("\n"); (*pr)("offset %04d: ", off); - } - else { + } else (*pr)(" "); - } } (*pr)("\n"); }
CVS commit: src/bin/sh
Module Name:src Committed By: kre Date: Thu Oct 18 05:28:45 UTC 2018 Modified Files: src/bin/sh: shell.h Log Message: Delete the old style (no longer used) DEBUG mode TRACE compat macro definitions (just to avoid any temptation to ever use them again). Update a comment which would make no sense without following the preceding comment which is being deleted with the macros it describes. While here, remove another comment that referred to events that have long past as if they were still to come. Also a grammatical comment correction - paragraphs start with capital letters... NFC (even with DEBUG defined). To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/bin/sh/shell.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/bin/sh/shell.h diff -u src/bin/sh/shell.h:1.26 src/bin/sh/shell.h:1.27 --- src/bin/sh/shell.h:1.26 Sun Jul 22 20:38:06 2018 +++ src/bin/sh/shell.h Thu Oct 18 05:28:45 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: shell.h,v 1.26 2018/07/22 20:38:06 kre Exp $ */ +/* $NetBSD: shell.h,v 1.27 2018/10/18 05:28:45 kre Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -101,21 +101,10 @@ extern int ShNest; #define DBG_EXTRAS(n) ((DBG_VBOSE_SHIFT * 2) + (n)) /* - * Unconditional tracing for compatibility with old tracing setup. - */ -#define TRACE(param) do { \ - trace param; \ -} while (/*CONSTCOND*/ 0) -#define TRACEV(param) do { \ - tracev param; \ -} while (/*CONSTCOND*/ 0) - -/* - * and the newer conditional tracing, so the mainainer can control + * Macros to enable tracing, so the mainainer can control * just how much debug output is dumped to the trace file - * (once the rest of the shell is converted to use it). * - * in the X forms, "xtra" can be any legal C statement(s) without (bare) commas + * In the X forms, "xtra" can be any legal C statement(s) without (bare) commas * executed if the relevant debug flag is enabled, after any tracing output. */ #define CTRACE(when, param) do { \
CVS commit: src/usr.sbin/acpitools/acpidump
Module Name:src Committed By: msaitoh Date: Thu Oct 18 05:20:06 UTC 2018 Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c Log Message: Fix output of Cache type in PPTT. To generate a diff of this commit: cvs rdiff -u -r1.37 -r1.38 src/usr.sbin/acpitools/acpidump/acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.37 src/usr.sbin/acpitools/acpidump/acpi.c:1.38 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.37 Thu Oct 18 05:04:44 2018 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Oct 18 05:20:05 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $ */ +/* $NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__RCSID("$NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.38 2018/10/18 05:20:05 msaitoh Exp $"); #include #include @@ -2102,8 +2102,7 @@ acpi_print_pptt_cache(ACPI_PPTT_CACHE *c printf("\tAssociativity=%d\n", cache->Associativity); if (cache->Flags & ACPI_PPTT_ALLOCATION_TYPE_VALID) { printf("\tAllocation type="); - switch (__SHIFTOUT(cache->Attributes, - ACPI_PPTT_MASK_ALLOCATION_TYPE)) { + switch (cache->Attributes & ACPI_PPTT_MASK_ALLOCATION_TYPE) { case ACPI_PPTT_CACHE_READ_ALLOCATE: printf("Read allocate\n"); break; @@ -2118,8 +2117,7 @@ acpi_print_pptt_cache(ACPI_PPTT_CACHE *c } if (cache->Flags & ACPI_PPTT_CACHE_TYPE_VALID) { printf("\tCache type="); - switch (__SHIFTOUT(cache->Attributes, - ACPI_PPTT_MASK_CACHE_TYPE)) { + switch (cache->Attributes & ACPI_PPTT_MASK_CACHE_TYPE) { case ACPI_PPTT_CACHE_TYPE_DATA: printf("Data\n"); break;
CVS commit: src/usr.sbin/acpitools/acpidump
Module Name:src Committed By: msaitoh Date: Thu Oct 18 05:04:44 UTC 2018 Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c Log Message: Don't print X_PM_TMR_BLK if the address value is 0. To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/usr.sbin/acpitools/acpidump/acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.36 src/usr.sbin/acpitools/acpidump/acpi.c:1.37 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.36 Thu Oct 18 04:52:00 2018 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Oct 18 05:04:44 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $ */ +/* $NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__RCSID("$NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.37 2018/10/18 05:04:44 msaitoh Exp $"); #include #include @@ -3589,8 +3589,10 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp) printf("\n\tX_PM2_CNT_BLK="); acpi_print_gas(>XPm2ControlBlock); } - printf("\n\tX_PM_TMR_BLK="); - acpi_print_gas(>XPmTimerBlock); + if (fadt->XPmTimerBlock.Address != 0) { + printf("\n\tX_PM_TMR_BLK="); + acpi_print_gas(>XPmTimerBlock); + } if (fadt->XGpe0Block.Address != 0) { printf("\n\tX_GPE0_BLK="); acpi_print_gas(>XGpe0Block);
CVS commit: src/usr.sbin/acpitools/acpidump
Module Name:src Committed By: msaitoh Date: Thu Oct 18 04:52:00 UTC 2018 Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c Log Message: Don't print PM_TMR_BLK if the value is 0 (see also acpi_timer.c rev. 1.23). To generate a diff of this commit: cvs rdiff -u -r1.35 -r1.36 src/usr.sbin/acpitools/acpidump/acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.35 src/usr.sbin/acpitools/acpidump/acpi.c:1.36 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.35 Thu Oct 18 04:29:44 2018 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Oct 18 04:52:00 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $ */ +/* $NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__RCSID("$NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.36 2018/10/18 04:52:00 msaitoh Exp $"); #include #include @@ -3490,9 +3490,10 @@ acpi_print_fadt(ACPI_TABLE_HEADER *sdp) printf("\tPM2_CNT_BLK=0x%x-0x%x\n", fadt->Pm2ControlBlock, fadt->Pm2ControlBlock + fadt->Pm2ControlLength - 1); - printf("\tPM_TMR_BLK=0x%x-0x%x\n", - fadt->PmTimerBlock, - fadt->PmTimerBlock + fadt->PmTimerLength - 1); + if (fadt->PmTimerBlock != 0) + printf("\tPM_TMR_BLK=0x%x-0x%x\n", + fadt->PmTimerBlock, + fadt->PmTimerBlock + fadt->PmTimerLength - 1); if (fadt->Gpe0Block != 0) printf("\tGPE0_BLK=0x%x-0x%x\n", fadt->Gpe0Block,
CVS commit: src/bin/sh
Module Name:src Committed By: kre Date: Thu Oct 18 04:44:27 UTC 2018 Modified Files: src/bin/sh: show.c Log Message: Remove a DEBUG mode transition mechanism (for the transition from the ancient DEBUG TRACE() method, to the newer CTRACE() et. al.) that turns out never really needed committing - the mechanism, and the code that obsoleted it, were committed together (May 2017). [It was useful to me while getting to that state...] NFC. Not even with DEBUG shells. To generate a diff of this commit: cvs rdiff -u -r1.49 -r1.50 src/bin/sh/show.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/bin/sh/show.c diff -u src/bin/sh/show.c:1.49 src/bin/sh/show.c:1.50 --- src/bin/sh/show.c:1.49 Sun Aug 19 10:47:45 2018 +++ src/bin/sh/show.c Thu Oct 18 04:44:27 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: show.c,v 1.49 2018/08/19 10:47:45 kre Exp $ */ +/* $NetBSD: show.c,v 1.50 2018/10/18 04:44:27 kre Exp $ */ /*- * Copyright (c) 1991, 1993 @@ -39,7 +39,7 @@ #if 0 static char sccsid[] = "@(#)show.c 8.3 (Berkeley) 5/4/95"; #else -__RCSID("$NetBSD: show.c,v 1.49 2018/08/19 10:47:45 kre Exp $"); +__RCSID("$NetBSD: show.c,v 1.50 2018/10/18 04:44:27 kre Exp $"); #endif #endif /* not lint */ @@ -68,21 +68,6 @@ __RCSID("$NetBSD: show.c,v 1.49 2018/08/ #include "var.h" #include "builtins.h" -#if defined(DEBUG) && !defined(DBG_PID) -/* - * If this is compiled, it means this is being compiled in a shell that still - * has an older shell.h (a simpler TRACE() mechanism than is coming soon.) - * - * Compensate for as much of that as is missing and is needed here - * to compile and operate at all. After the other changes have appeared, - * this little block can (and should be) deleted (sometime). - * - * Try to avoid waiting 22 years... - */ -#define DBG_PID 1 -#define DBG_NEST 2 -#endif - #define DEFINE_NODENAMES #include "nodenames.h" /* does almost nothing if !defined(DEBUG) */
CVS commit: src/usr.sbin/acpitools/acpidump
Module Name:src Committed By: msaitoh Date: Thu Oct 18 04:29:44 UTC 2018 Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c Log Message: Decode Generic Timer Description Table(GTDT) and Processor Properties Topology Table(PPTT). Cosmetic changes and fixes might be required. Testesd by jmcneill. To generate a diff of this commit: cvs rdiff -u -r1.34 -r1.35 src/usr.sbin/acpitools/acpidump/acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.34 src/usr.sbin/acpitools/acpidump/acpi.c:1.35 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.34 Thu Oct 18 04:25:34 2018 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Oct 18 04:29:44 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $ */ +/* $NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__RCSID("$NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.35 2018/10/18 04:29:44 msaitoh Exp $"); #include #include @@ -85,6 +85,7 @@ static void acpi_handle_dbgp(ACPI_TABLE_ static void acpi_handle_dbg2(ACPI_TABLE_HEADER *sdp); static void acpi_handle_einj(ACPI_TABLE_HEADER *sdp); static void acpi_handle_erst(ACPI_TABLE_HEADER *sdp); +static void acpi_handle_gtdt(ACPI_TABLE_HEADER *sdp); static void acpi_handle_hest(ACPI_TABLE_HEADER *sdp); static void acpi_handle_lpit(ACPI_TABLE_HEADER *sdp); static void acpi_handle_madt(ACPI_TABLE_HEADER *sdp); @@ -92,6 +93,7 @@ static void acpi_handle_msct(ACPI_TABLE_ static void acpi_handle_ecdt(ACPI_TABLE_HEADER *sdp); static void acpi_handle_hpet(ACPI_TABLE_HEADER *sdp); static void acpi_handle_mcfg(ACPI_TABLE_HEADER *sdp); +static void acpi_handle_pptt(ACPI_TABLE_HEADER *sdp); static void acpi_handle_sbst(ACPI_TABLE_HEADER *sdp); static void acpi_handle_slit(ACPI_TABLE_HEADER *sdp); static void acpi_handle_spcr(ACPI_TABLE_HEADER *sdp); @@ -1679,6 +1681,182 @@ acpi_handle_erst(ACPI_TABLE_HEADER *sdp) } static void +acpi_print_gtd_timer(const char *name, uint32_t interrupt, uint32_t flags) +{ + + printf("\t%s Timer GSIV=%d\n", name, interrupt); + printf("\t%s Flags={Mode=", name); + if (flags & ACPI_GTDT_INTERRUPT_MODE) + printf("edge"); + else + printf("level"); + printf(", Polarity="); + if (flags & ACPI_GTDT_INTERRUPT_POLARITY) + printf("active-lo"); + else + printf("active-hi"); + if (flags & ACPI_GTDT_ALWAYS_ON) + printf(", always-on"); + printf("}\n"); +} + +static void +acpi_print_gtd_block_timer_flags(const char *name, uint32_t interrupt, +uint32_t flags) +{ + + printf("\t\t%s Timer GSIV=%d\n", name, interrupt); + printf("\t\t%s Timer Flags={Mode=", name); + if (flags & ACPI_GTDT_GT_IRQ_MODE) + printf("Secure"); + else + printf("Non-Secure"); + printf(", Polarity="); + if (flags & ACPI_GTDT_GT_IRQ_POLARITY) + printf("active-lo"); + else + printf("active-hi"); + printf("}\n"); +} + +static void +acpi_print_gtblock(ACPI_GTDT_TIMER_BLOCK *gtblock) +{ + ACPI_GTDT_TIMER_ENTRY *entry; + unsigned int i; + + printf("\tType=GT Block\n"); + printf("\tLength=%d\n", gtblock->Header.Length); + /* XXX might not 8byte aligned */ + printf("\tBlockAddress=%016jx\n", + (uintmax_t)gtblock->BlockAddress); + + printf("\tGT Block Timer Count=%d\n", gtblock->TimerCount); + entry = (ACPI_GTDT_TIMER_ENTRY *)((vaddr_t)gtblock + + gtblock->TimerOffset); + for (i = 0; i < gtblock->TimerCount; i++) { + printf("\n"); + if (entry >= (ACPI_GTDT_TIMER_ENTRY *)((vaddr_t)gtblock + + gtblock->Header.Length)) { + printf("\\ttWrong Timer entry\n"); + break; + } + printf("\t\tFrame Number=%d\n", entry->FrameNumber); + /* XXX might not 8byte aligned */ + printf("\t\tBaseAddress=%016jx\n", + (uintmax_t)entry->BaseAddress); + /* XXX might not 8byte aligned */ + printf("\t\tEl0BaseAddress=%016jx\n", + (uintmax_t)entry->El0BaseAddress); + + acpi_print_gtd_block_timer_flags("Physical", + entry->TimerInterrupt, entry->TimerFlags); + acpi_print_gtd_block_timer_flags("Virtual", + entry->VirtualTimerInterrupt, entry->VirtualTimerFlags); + + printf("\t\tCommon Flags={Mode="); + if (entry->CommonFlags & ACPI_GTDT_GT_IS_SECURE_TIMER) + printf("Secure"); + else + printf("Non-Secure"); + if (entry->CommonFlags & ACPI_GTDT_GT_ALWAYS_ON) + printf(", always-on"); + printf("}\n"); + + entry++; + } +} + +static void +acpi_print_sbsa_watchdog(ACPI_GTDT_WATCHDOG *wdog) +{ + + printf("\tType=Watchdog GT\n"); + printf("\tLength=%d\n", wdog->Header.Length); + /* XXX might not 8byte aligned */ + printf("\tRefreshFrameAddress=%016jx\n", + (uintmax_t)wdog->RefreshFrameAddress); + /* XXX might not 8byte aligned */ + printf("\tControlFrameAddress=%016jx\n", + (uintmax_t)wdog->ControlFrameAddress); + printf("\tGSIV=%d\n",
CVS commit: src/usr.sbin/acpitools/acpidump
Module Name:src Committed By: msaitoh Date: Thu Oct 18 04:25:35 UTC 2018 Modified Files: src/usr.sbin/acpitools/acpidump: acpi.c Log Message: Print SPCR's Interface Type and ARMH GIC Interrupt Type. To generate a diff of this commit: cvs rdiff -u -r1.33 -r1.34 src/usr.sbin/acpitools/acpidump/acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/usr.sbin/acpitools/acpidump/acpi.c diff -u src/usr.sbin/acpitools/acpidump/acpi.c:1.33 src/usr.sbin/acpitools/acpidump/acpi.c:1.34 --- src/usr.sbin/acpitools/acpidump/acpi.c:1.33 Tue Oct 16 21:44:37 2018 +++ src/usr.sbin/acpitools/acpidump/acpi.c Thu Oct 18 04:25:34 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $ */ +/* $NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $ */ /*- * Copyright (c) 1998 Doug Rabson @@ -30,7 +30,7 @@ */ #include -__RCSID("$NetBSD: acpi.c,v 1.33 2018/10/16 21:44:37 jmcneill Exp $"); +__RCSID("$NetBSD: acpi.c,v 1.34 2018/10/18 04:25:34 msaitoh Exp $"); #include #include @@ -1270,6 +1270,39 @@ acpi_handle_dbgp(ACPI_TABLE_HEADER *sdp) printf(END_COMMENT); } +/* This function is used by DBG2 and SPCR. */ +static void +acpi_print_dbg2_serial_subtype(uint16_t subtype) +{ + + switch (subtype) { + case ACPI_DBG2_16550_COMPATIBLE: + printf("Fully 16550 compatible\n"); + break; + case ACPI_DBG2_16550_SUBSET: + printf("16550 subset with DBGP Rev. 1\n"); + break; + case ACPI_DBG2_ARM_PL011: + printf("ARM PL011\n"); + break; + case ACPI_DBG2_ARM_SBSA_32BIT: + printf("ARM SBSA 32bit only\n"); + break; + case ACPI_DBG2_ARM_SBSA_GENERIC: + printf("ARM SBSA Generic\n"); + break; + case ACPI_DBG2_ARM_DCC: + printf("ARM DCC\n"); + break; + case ACPI_DBG2_BCM2835: + printf("BCM2835\n"); + break; + default: + printf("reserved (%04hx)\n", subtype); + break; + } +} + static void acpi_print_dbg2_device(ACPI_DBG2_DEVICE *dev) { @@ -1293,32 +1326,7 @@ acpi_print_dbg2_device(ACPI_DBG2_DEVICE switch (dev->PortType) { case ACPI_DBG2_SERIAL_PORT: printf("Serial\n" "\t\tPortSubtype="); - switch (dev->PortSubtype) { - case ACPI_DBG2_16550_COMPATIBLE: - printf("Fully 16550 compatible\n"); - break; - case ACPI_DBG2_16550_SUBSET: - printf("16550 subset with DBGP Rev. 1\n"); - break; - case ACPI_DBG2_ARM_PL011: - printf("ARM PL011\n"); - break; - case ACPI_DBG2_ARM_SBSA_32BIT: - printf("ARM SBSA 32bit only\n"); - break; - case ACPI_DBG2_ARM_SBSA_GENERIC: - printf("ARM SBSA Generic\n"); - break; - case ACPI_DBG2_ARM_DCC: - printf("ARM DCC\n"); - break; - case ACPI_DBG2_BCM2835: - printf("BCM2835\n"); - break; - default: - printf("reserved (%04hx)\n", dev->PortSubtype); - break; - } + acpi_print_dbg2_serial_subtype(dev->PortSubtype); break; case ACPI_DBG2_1394_PORT: printf("IEEE1394\n" "\t\tPortSubtype="); @@ -1914,6 +1922,21 @@ acpi_handle_spcr(ACPI_TABLE_HEADER *sdp) acpi_print_sdt(sdp); spcr = (ACPI_TABLE_SPCR *)sdp; + printf("\n\tInterface Type="); + switch (sdp->Revision) { + case 1: + printf("full 16550%s\n", + (spcr->InterfaceType == 1) ? + "(must also accept writing FCR register)" : ""); + break; + case 2: + acpi_print_dbg2_serial_subtype(spcr->InterfaceType); + break; + default: + printf("unknown Revision\n"); + break; + } + printf("\tSerial Port="); acpi_print_gas(>SerialPort); printf("\n\tInterrupt Type={"); @@ -1936,6 +1959,9 @@ acpi_handle_spcr(ACPI_TABLE_HEADER *sdp) if (spcr->InterruptType & 0x4) { printf("\n\t\tIO SAPIC={ GSI=%d }", spcr->Interrupt); } + if (spcr->InterruptType & 0x8) { + printf("\n\t\tARMH GIC={ GSI=%d }", spcr->Interrupt); + } printf("\n\t}\n"); printf("\tBaud Rate=");
CVS commit: src/bin/sh
Module Name:src Committed By: kre Date: Thu Oct 18 04:24:43 UTC 2018 Modified Files: src/bin/sh: mkinit.sh Log Message: Dynamically detect the way the shell matches \ in a pattern, and use whatever works for the sh running this script. Previously we were using the (broken, and incorrect) method that worked in old broken NetBSD sh's (and some others) and not the method that works with the current (fixed) /bin/sh and other correct shells (like bash). (For an exotic reason, in the particular use case, both methods work with ksh93, but it is also generally correct). This hasn't really mattered, as the difference is only significant (only causes actual issues - the build fails) when compiling with DEBUG enabled, which is something that most sane humans would never do, if they want to retain that sanity. The problem was detected by Patrick Welche when looking for an unrelated problem, which was once considered to be a possible sh problem, but turned out to be something entirely different. XXX pullup -8 To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/bin/sh/mkinit.sh Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/bin/sh/mkinit.sh diff -u src/bin/sh/mkinit.sh:1.8 src/bin/sh/mkinit.sh:1.9 --- src/bin/sh/mkinit.sh:1.8 Sun Sep 16 22:31:30 2018 +++ src/bin/sh/mkinit.sh Thu Oct 18 04:24:43 2018 @@ -1,5 +1,5 @@ #! /bin/sh -# $NetBSD: mkinit.sh,v 1.8 2018/09/16 22:31:30 kre Exp $ +# $NetBSD: mkinit.sh,v 1.9 2018/10/18 04:24:43 kre Exp $ # Copyright (c) 2003 The NetBSD Foundation, Inc. # All rights reserved. @@ -33,7 +33,37 @@ srcs="$*" nl=' ' openparen='(' -backslash='\' + +# shells have bugs (including older NetBSD sh) in how \ is +# used in pattern matching. So work out what the shell +# running this script expects. We could also just use a +# literal \ in the pattern, which would need to be quoted +# of course, but then we'd run into a whole host of potential +# other shell bugs (both with the quoting in the pattern, and +# with the matching that follows if that works as inended). +# Far easier, and more reliable, is to just work out what works, +# and then use it, which more or less mandates using a variable... +backslash='\\' +var='abc\' # dummy test case. +if [ "$var" = "${var%$backslash}" ] +then + # buggy sh, try the broken way + backslash='\' + if [ "$var" = "${var%$backslash}" ] + then + printf >&2 "$0: %s\n" 'No pattern match with \ (broken shell)' + exit 1 + fi +fi +# We know we can detect the presence of a trailing \, which is all we need. +# Now to confirm we will not generate false matches. +var='abc' +if [ "$var" != "${var%$backslash}" ] +then + printf >&2 "$0: %s\n" 'Bogus pattern match with \ (broken shell)' + exit 1 +fi +unset var includes=' "shell.h" "mystring.h" "init.h" ' defines=
CVS commit: src/sys/arch/i386/i386
Module Name:src Committed By: cherry Date: Thu Oct 18 04:22:22 UTC 2018 Modified Files: src/sys/arch/i386/i386: machdep.c Log Message: Use memory allocated for the ldt, not the idt. This must have been a typo that we got away with because we were not using the idt[] so far. This fix should now allow -current i386 XEN to boot, as before. To generate a diff of this commit: cvs rdiff -u -r1.811 -r1.812 src/sys/arch/i386/i386/machdep.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/i386/i386/machdep.c diff -u src/sys/arch/i386/i386/machdep.c:1.811 src/sys/arch/i386/i386/machdep.c:1.812 --- src/sys/arch/i386/i386/machdep.c:1.811 Sat Sep 29 07:00:20 2018 +++ src/sys/arch/i386/i386/machdep.c Thu Oct 18 04:22:22 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.811 2018/09/29 07:00:20 cherry Exp $ */ +/* $NetBSD: machdep.c,v 1.812 2018/10/18 04:22:22 cherry Exp $ */ /* * Copyright (c) 1996, 1997, 1998, 2000, 2004, 2006, 2008, 2009, 2017 @@ -67,7 +67,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.811 2018/09/29 07:00:20 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.812 2018/10/18 04:22:22 cherry Exp $"); #include "opt_beep.h" #include "opt_compat_freebsd.h" @@ -1326,7 +1326,7 @@ init386(paddr_t first_avail) GSEL(GCODE_SEL, SEL_KPL), (unsigned long)hypervisor_callback, GSEL(GCODE_SEL, SEL_KPL), (unsigned long)failsafe_callback); - ldtstore = (union descriptor *)idt_vaddr; + ldtstore = (union descriptor *)ldt_vaddr; #endif /* XEN */ /* make ldt gates and memory segments */
CVS commit: src/sys/arch/xen/x86
Module Name:src Committed By: cherry Date: Thu Oct 18 04:17:18 UTC 2018 Modified Files: src/sys/arch/xen/x86: xenfunc.c Log Message: Zero out page table memory for IDT before use. To copy the IDT entry before registration, de-reference the indexed value, not the first entry. Add a MAX_XEN_IDT value for max entries we expect and KASSERT() for this as a sanity check. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/arch/xen/x86/xenfunc.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/xen/x86/xenfunc.c diff -u src/sys/arch/xen/x86/xenfunc.c:1.21 src/sys/arch/xen/x86/xenfunc.c:1.22 --- src/sys/arch/xen/x86/xenfunc.c:1.21 Sun Sep 23 15:28:49 2018 +++ src/sys/arch/xen/x86/xenfunc.c Thu Oct 18 04:17:18 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: xenfunc.c,v 1.21 2018/09/23 15:28:49 cherry Exp $ */ +/* $NetBSD: xenfunc.c,v 1.22 2018/10/18 04:17:18 cherry Exp $ */ /* * Copyright (c) 2004 Christian Limpach. @@ -26,7 +26,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: xenfunc.c,v 1.21 2018/09/23 15:28:49 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: xenfunc.c,v 1.22 2018/10/18 04:17:18 cherry Exp $"); #include @@ -41,6 +41,8 @@ __KERNEL_RCSID(0, "$NetBSD: xenfunc.c,v #include #include +#define MAX_XEN_IDT 128 + void xen_set_ldt(vaddr_t, uint32_t); void @@ -59,7 +61,8 @@ lidt(struct region_descriptor *rd) * will be available at the boot stage when this is called. */ static char xen_idt_page[PAGE_SIZE] __attribute__((__aligned__ (PAGE_SIZE))); - + memset(xen_idt_page, 0, PAGE_SIZE); + struct trap_info *xen_idt = (void * )xen_idt_page; int xen_idt_idx = 0; @@ -73,9 +76,9 @@ lidt(struct region_descriptor *rd) * back in the requestor array. */ for (i = 0; i < nidt; i++) { - if (idd->address == 0) /* Skip gap */ + if (idd[i].address == 0) /* Skip gap */ continue; - + KASSERT(xen_idt_idx < MAX_XEN_IDT); /* Copy over entry */ xen_idt[xen_idt_idx++] = idd[i]; }
CVS commit: src/sys/arch/x86/x86
Module Name:src Committed By: cherry Date: Thu Oct 18 04:14:07 UTC 2018 Modified Files: src/sys/arch/x86/x86: idt.c Log Message: Make compile-time type differentiation more explicit. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/x86/x86/idt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/x86/x86/idt.c diff -u src/sys/arch/x86/x86/idt.c:1.8 src/sys/arch/x86/x86/idt.c:1.9 --- src/sys/arch/x86/x86/idt.c:1.8 Sun Sep 23 15:28:49 2018 +++ src/sys/arch/x86/x86/idt.c Thu Oct 18 04:14:07 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: idt.c,v 1.8 2018/09/23 15:28:49 cherry Exp $ */ +/* $NetBSD: idt.c,v 1.9 2018/10/18 04:14:07 cherry Exp $ */ /*- * Copyright (c) 1996, 1997, 1998, 2000, 2009 The NetBSD Foundation, Inc. @@ -65,7 +65,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: idt.c,v 1.8 2018/09/23 15:28:49 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: idt.c,v 1.9 2018/10/18 04:14:07 cherry Exp $"); #include #include @@ -89,7 +89,7 @@ static char idt_allocmap[NIDT]; #if defined(XEN) void -set_idtgate(idt_descriptor_t *xen_idd, void *function, int ist, +set_idtgate(struct trap_info *xen_idd, void *function, int ist, int type, int dpl, int sel) { /* @@ -120,7 +120,7 @@ set_idtgate(idt_descriptor_t *xen_idd, v * implicitly part of an idt, which we infer as * xen_idt_vaddr. (See above). */ - xen_idd->vector = xen_idd - (idt_descriptor_t *)xen_idt_vaddr; + xen_idd->vector = xen_idd - (struct trap_info *)xen_idt_vaddr; /* Back to read-only, as it should be. */ #if defined(__x86_64__) @@ -129,7 +129,7 @@ set_idtgate(idt_descriptor_t *xen_idd, v //kpreempt_enable(); } void -unset_idtgate(idt_descriptor_t *xen_idd) +unset_idtgate(struct trap_info *xen_idd) { #if defined(__x86_64__) vaddr_t xen_idt_vaddr = ((vaddr_t) xen_idd) & PAGE_MASK; @@ -148,12 +148,12 @@ unset_idtgate(idt_descriptor_t *xen_idd) } #else /* XEN */ void -set_idtgate(idt_descriptor_t *idd, void *function, int ist, int type, int dpl, int sel) +set_idtgate(struct gate_descriptor *idd, void *function, int ist, int type, int dpl, int sel) { setgate(idd, function, ist, type, dpl, sel); } void -unset_idtgate(idt_descriptor_t *idd) +unset_idtgate(struct gate_descriptor *idd) { unsetgate(idd); }
CVS commit: src/sys/arch/i386/i386
Module Name:src Committed By: cherry Date: Thu Oct 18 04:11:14 UTC 2018 Modified Files: src/sys/arch/i386/i386: cpufunc.S Log Message: Whitespace self-police. To generate a diff of this commit: cvs rdiff -u -r1.24 -r1.25 src/sys/arch/i386/i386/cpufunc.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/i386/i386/cpufunc.S diff -u src/sys/arch/i386/i386/cpufunc.S:1.24 src/sys/arch/i386/i386/cpufunc.S:1.25 --- src/sys/arch/i386/i386/cpufunc.S:1.24 Sun Sep 23 15:28:48 2018 +++ src/sys/arch/i386/i386/cpufunc.S Thu Oct 18 04:11:14 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: cpufunc.S,v 1.24 2018/09/23 15:28:48 cherry Exp $ */ +/* $NetBSD: cpufunc.S,v 1.25 2018/10/18 04:11:14 cherry Exp $ */ /*- * Copyright (c) 1998, 2007 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ #include #include -__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.24 2018/09/23 15:28:48 cherry Exp $"); +__KERNEL_RCSID(0, "$NetBSD: cpufunc.S,v 1.25 2018/10/18 04:11:14 cherry Exp $"); #include "opt_xen.h" @@ -66,7 +66,7 @@ ENTRY(x86_mfence) END(x86_mfence) #ifndef XEN - ENTRY(lidt) +ENTRY(lidt) movl 4(%esp), %eax lidt (%eax) ret
CVS commit: src/libexec/ld.elf_so
Module Name:src Committed By: joerg Date: Wed Oct 17 23:36:58 UTC 2018 Modified Files: src/libexec/ld.elf_so: Makefile reloc.c rtld.c rtld.h Added Files: src/libexec/ld.elf_so: compat.c Log Message: Move compatibility for pre-2.0 ELF binaries into separate file. Early ELF binaries defined dlopen and friends in crt0.o by using function pointers in the object handle passed from rtld. This contract wastes space when many shared objects are allocated and ties dynamic linker and rest of the system tightly together. Fake the entry points in a static object and restrict them to the platforms that had working ELF support at the time. Keep the magic and version field used by modern crt0.o for all architectures. The checks will be removed from crt0.o in a follow-up step. To generate a diff of this commit: cvs rdiff -u -r1.138 -r1.139 src/libexec/ld.elf_so/Makefile cvs rdiff -u -r0 -r1.1 src/libexec/ld.elf_so/compat.c cvs rdiff -u -r1.112 -r1.113 src/libexec/ld.elf_so/reloc.c cvs rdiff -u -r1.192 -r1.193 src/libexec/ld.elf_so/rtld.c cvs rdiff -u -r1.133 -r1.134 src/libexec/ld.elf_so/rtld.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/libexec/ld.elf_so/Makefile diff -u src/libexec/ld.elf_so/Makefile:1.138 src/libexec/ld.elf_so/Makefile:1.139 --- src/libexec/ld.elf_so/Makefile:1.138 Sat Jun 9 22:41:55 2018 +++ src/libexec/ld.elf_so/Makefile Wed Oct 17 23:36:58 2018 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.138 2018/06/09 22:41:55 christos Exp $ +# $NetBSD: Makefile,v 1.139 2018/10/17 23:36:58 joerg Exp $ # # NOTE: when changing ld.so, ensure that ldd still compiles. # @@ -72,7 +72,7 @@ CLIBOBJ!= cd ${NETBSDSRCDIR}/lib/libc && SRCS+= rtld.c reloc.c symbol.c xmalloc.c xprintf.c debug.c \ map_object.c load.c search.c headers.c paths.c expand.c \ - tls.c symver.c diagassert.c + tls.c symver.c diagassert.c compat.c .if ${USE_FORT} == "yes" .PATH.c: ${NETBSDSRCDIR}/lib/libc/misc Index: src/libexec/ld.elf_so/reloc.c diff -u src/libexec/ld.elf_so/reloc.c:1.112 src/libexec/ld.elf_so/reloc.c:1.113 --- src/libexec/ld.elf_so/reloc.c:1.112 Tue Apr 3 21:10:27 2018 +++ src/libexec/ld.elf_so/reloc.c Wed Oct 17 23:36:58 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: reloc.c,v 1.112 2018/04/03 21:10:27 joerg Exp $ */ +/* $NetBSD: reloc.c,v 1.113 2018/10/17 23:36:58 joerg Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -39,7 +39,7 @@ #include #ifndef lint -__RCSID("$NetBSD: reloc.c,v 1.112 2018/04/03 21:10:27 joerg Exp $"); +__RCSID("$NetBSD: reloc.c,v 1.113 2018/10/17 23:36:58 joerg Exp $"); #endif /* not lint */ #include @@ -220,21 +220,6 @@ _rtld_relocate_objects(Obj_Entry *first, if (!ok) return -1; - /* Set some sanity-checking numbers in the Obj_Entry. */ - obj->magic = RTLD_MAGIC; - obj->version = RTLD_VERSION; - - /* - * Fill in the backwards compatibility dynamic linker entry points. - * - * DO NOT ADD TO THIS LIST - */ - obj->dlopen = dlopen; - obj->dlsym = dlsym; - obj->dlerror = dlerror; - obj->dlclose = dlclose; - obj->dladdr = dladdr; - dbg(("fixing up PLTGOT")); /* Set the special PLTGOT entries. */ if (obj->pltgot != NULL) Index: src/libexec/ld.elf_so/rtld.c diff -u src/libexec/ld.elf_so/rtld.c:1.192 src/libexec/ld.elf_so/rtld.c:1.193 --- src/libexec/ld.elf_so/rtld.c:1.192 Tue Apr 3 21:10:27 2018 +++ src/libexec/ld.elf_so/rtld.c Wed Oct 17 23:36:58 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: rtld.c,v 1.192 2018/04/03 21:10:27 joerg Exp $ */ +/* $NetBSD: rtld.c,v 1.193 2018/10/17 23:36:58 joerg Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -40,7 +40,7 @@ #include #ifndef lint -__RCSID("$NetBSD: rtld.c,v 1.192 2018/04/03 21:10:27 joerg Exp $"); +__RCSID("$NetBSD: rtld.c,v 1.193 2018/10/17 23:36:58 joerg Exp $"); #endif /* not lint */ #include @@ -786,7 +786,7 @@ _rtld(Elf_Addr *sp, Elf_Addr relocbase) */ ((void **) osp)[0] = _rtld_exit; - ((void **) osp)[1] = _rtld_objmain; + ((void **) osp)[1] = __UNCONST(_rtld_compat_obj); return (Elf_Addr) _rtld_objmain->entry; } Index: src/libexec/ld.elf_so/rtld.h diff -u src/libexec/ld.elf_so/rtld.h:1.133 src/libexec/ld.elf_so/rtld.h:1.134 --- src/libexec/ld.elf_so/rtld.h:1.133 Tue Apr 3 21:10:27 2018 +++ src/libexec/ld.elf_so/rtld.h Wed Oct 17 23:36:58 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: rtld.h,v 1.133 2018/04/03 21:10:27 joerg Exp $ */ +/* $NetBSD: rtld.h,v 1.134 2018/10/17 23:36:58 joerg Exp $ */ /* * Copyright 1996 John D. Polstra. @@ -136,9 +136,6 @@ typedef struct _rtld_library_xform_t { * * Items marked with "(%)" are dynamically allocated, and must be freed * when the structure is destroyed. - * - * The layout of this structure needs to be preserved because pre-2.0 binaries - * hard-coded the location of dlopen() and friends. */ #define RTLD_MAGIC 0xd550b87a @@ -196,18 +193,6 @@ typedef struct Struct_Obj_Entry { Elf_Addr init; /* Initialization
CVS commit: [jdolecek-ncqfixes] src/sys/dev/ata
Module Name:src Committed By: jdolecek Date: Wed Oct 17 18:03:27 UTC 2018 Modified Files: src/sys/dev/ata [jdolecek-ncqfixes]: TODO.ncq Log Message: rechecked bad block handling under Parallels and it really doesn't set any error bits in any of the registers (neither IS nor SERR) for out-of-range block read nor write, while it works just fine under VMware, so not our bug To generate a diff of this commit: cvs rdiff -u -r1.4.2.15 -r1.4.2.16 src/sys/dev/ata/TODO.ncq Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/ata/TODO.ncq diff -u src/sys/dev/ata/TODO.ncq:1.4.2.15 src/sys/dev/ata/TODO.ncq:1.4.2.16 --- src/sys/dev/ata/TODO.ncq:1.4.2.15 Mon Oct 15 21:18:53 2018 +++ src/sys/dev/ata/TODO.ncq Wed Oct 17 18:03:26 2018 @@ -1,6 +1,6 @@ -jdolecek-ncqfixes goals: -- re-check READ LOG EXT handling under native and Parallels to make sure - the NOERROR under Parallels is their bug and not ours +jdolecek-ncqfixes to finish: +- re-check READ LOG EXT handling under native +- recheck native working for ahcisata(4), siisata(4), mvsata(4) + PMP Bugs
CVS commit: src/sys/dev/i2c
Module Name:src Committed By: jmcneill Date: Wed Oct 17 16:56:40 UTC 2018 Modified Files: src/sys/dev/i2c: tcakp.c Log Message: lock/unlock I2C bus around transfers as required by API To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/dev/i2c/tcakp.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/i2c/tcakp.c diff -u src/sys/dev/i2c/tcakp.c:1.9 src/sys/dev/i2c/tcakp.c:1.10 --- src/sys/dev/i2c/tcakp.c:1.9 Tue Jun 26 06:03:57 2018 +++ src/sys/dev/i2c/tcakp.c Wed Oct 17 16:56:40 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: tcakp.c,v 1.9 2018/06/26 06:03:57 thorpej Exp $ */ +/* $NetBSD: tcakp.c,v 1.10 2018/10/17 16:56:40 jmcneill Exp $ */ /*- * Copyright (c) 2017 Jared McNeill @@ -29,7 +29,7 @@ #include "opt_fdt.h" #include -__KERNEL_RCSID(0, "$NetBSD: tcakp.c,v 1.9 2018/06/26 06:03:57 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: tcakp.c,v 1.10 2018/10/17 16:56:40 jmcneill Exp $"); #include #include @@ -364,14 +364,26 @@ tcakp_attach(device_t parent, device_t s static int tcakp_read(struct tcakp_softc *sc, uint8_t reg, uint8_t *val) { - return iic_exec(sc->sc_i2c, I2C_OP_READ_WITH_STOP, sc->sc_addr, + int error; + + iic_acquire_bus(sc->sc_i2c, I2C_F_POLL); + error = iic_exec(sc->sc_i2c, I2C_OP_READ_WITH_STOP, sc->sc_addr, , 1, val, 1, I2C_F_POLL); + iic_release_bus(sc->sc_i2c, I2C_F_POLL); + + return error; } static int tcakp_write(struct tcakp_softc *sc, uint8_t reg, uint8_t val) { uint8_t buf[2] = { reg, val }; - return iic_exec(sc->sc_i2c, I2C_OP_WRITE_WITH_STOP, sc->sc_addr, + int error; + + iic_acquire_bus(sc->sc_i2c, I2C_F_POLL); + error = iic_exec(sc->sc_i2c, I2C_OP_WRITE_WITH_STOP, sc->sc_addr, NULL, 0, buf, 2, I2C_F_POLL); + iic_release_bus(sc->sc_i2c, I2C_F_POLL); + + return error; }
CVS commit: [netbsd-8] src/doc
Module Name:src Committed By: martin Date: Wed Oct 17 13:51:53 UTC 2018 Modified Files: src/doc [netbsd-8]: CHANGES-8.1 Log Message: Tickets #1045, #1064 and #1065 To generate a diff of this commit: cvs rdiff -u -r1.1.2.35 -r1.1.2.36 src/doc/CHANGES-8.1 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/doc/CHANGES-8.1 diff -u src/doc/CHANGES-8.1:1.1.2.35 src/doc/CHANGES-8.1:1.1.2.36 --- src/doc/CHANGES-8.1:1.1.2.35 Mon Oct 15 08:04:20 2018 +++ src/doc/CHANGES-8.1 Wed Oct 17 13:51:53 2018 @@ -1,4 +1,4 @@ -# $NetBSD: CHANGES-8.1,v 1.1.2.35 2018/10/15 08:04:20 sborrill Exp $ +# $NetBSD: CHANGES-8.1,v 1.1.2.36 2018/10/17 13:51:53 martin Exp $ A complete list of changes from the NetBSD 8.0 release to the NetBSD 8.1 release: @@ -1402,3 +1402,25 @@ sbin/gpt/gpt.c 1.76 Should fix PR 53668. [mlelstv, ticket #1063] +sys/netinet/ip_reass.c1.19-1.21 + + Cache ip_off and ip_len in the fragment entry. + Kick fragments that would introduce several !MFFs + in a reassembly chain. + Force ip_off to zero when the reassembly is complete. + [maxv, ticket #1045] + +sys/dev/pci/aac_pci.c1.39 +sys/dev/pci/pcidevs1.1348 +sys/dev/pci/pcidevs.h(regen) +sys/dev/pci/pcidevs_data.h (regen) + + Add Adaptec RAID 2445 and 2805. + [uwe, ticket #1064] + +distrib/sets/lists/base/mi 1.1186 +etc/mtree/NetBSD.dist.base 1.174 + + Add /var/chroot/nsd/var/run. + [hannken, ticket #1065] +
CVS commit: [netbsd-8] src
Module Name:src Committed By: martin Date: Wed Oct 17 13:50:25 UTC 2018 Modified Files: src/distrib/sets/lists/base [netbsd-8]: mi src/etc/mtree [netbsd-8]: NetBSD.dist.base Log Message: Pull up following revision(s) (requested by hannken in ticket #1065): etc/mtree/NetBSD.dist.base: revision 1.174 distrib/sets/lists/base/mi: revision 1.1186 add /var/chroot/nsd/var/run - fix the build add mssing directory to sets list To generate a diff of this commit: cvs rdiff -u -r1.1158.2.3 -r1.1158.2.4 src/distrib/sets/lists/base/mi cvs rdiff -u -r1.160.2.1 -r1.160.2.2 src/etc/mtree/NetBSD.dist.base Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/distrib/sets/lists/base/mi diff -u src/distrib/sets/lists/base/mi:1.1158.2.3 src/distrib/sets/lists/base/mi:1.1158.2.4 --- src/distrib/sets/lists/base/mi:1.1158.2.3 Mon Oct 15 03:12:41 2018 +++ src/distrib/sets/lists/base/mi Wed Oct 17 13:50:25 2018 @@ -1,4 +1,4 @@ -# $NetBSD: mi,v 1.1158.2.3 2018/10/15 03:12:41 snj Exp $ +# $NetBSD: mi,v 1.1158.2.4 2018/10/17 13:50:25 martin Exp $ # # Note: Don't delete entries from here - mark them as "obsolete" instead, # unless otherwise stated below. @@ -5947,6 +5947,7 @@ ./var/chroot/nsd/varbase-sys-root ./var/chroot/nsd/var/dbbase-sys-root ./var/chroot/nsd/var/db/nsd base-sys-root +./var/chroot/nsd/var/run base-sys-root ./var/chroot/ntpdbase-ntp-root ./var/chroot/ntpd/devbase-ntp-root ./var/chroot/ntpd/etcbase-ntp-root Index: src/etc/mtree/NetBSD.dist.base diff -u src/etc/mtree/NetBSD.dist.base:1.160.2.1 src/etc/mtree/NetBSD.dist.base:1.160.2.2 --- src/etc/mtree/NetBSD.dist.base:1.160.2.1 Mon Oct 15 03:12:41 2018 +++ src/etc/mtree/NetBSD.dist.base Wed Oct 17 13:50:25 2018 @@ -1,4 +1,4 @@ -# $NetBSD: NetBSD.dist.base,v 1.160.2.1 2018/10/15 03:12:41 snj Exp $ +# $NetBSD: NetBSD.dist.base,v 1.160.2.2 2018/10/17 13:50:25 martin Exp $ # @(#)4.4BSD.dist 8.1 (Berkeley) 6/13/93 # Do not customize this file as it may be overwritten on upgrades. @@ -1282,6 +1282,7 @@ ./var/chroot/nsd/var mode=0755 uname=_nsd gname=_nsd ./var/chroot/nsd/var/db mode=0755 uname=_nsd gname=_nsd ./var/chroot/nsd/var/db/nsd mode=0755 uname=_nsd gname=_nsd +./var/chroot/nsd/var/run mode=0775 uname=_nsd gname=_nsd ./var/chroot/ntpd ./var/chroot/ntpd/dev ./var/chroot/ntpd/etc
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 17 13:46:58 UTC 2018 Modified Files: src/sys/dev/pci [netbsd-8]: pcidevs.h pcidevs_data.h Log Message: Regen for ticket #1064 To generate a diff of this commit: cvs rdiff -u -r1.1281.2.9 -r1.1281.2.10 src/sys/dev/pci/pcidevs.h cvs rdiff -u -r1.1280.2.9 -r1.1280.2.10 src/sys/dev/pci/pcidevs_data.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. diffs are larger than 1MB and have been omitted
CVS commit: [netbsd-8] src/sys/dev/pci
Module Name:src Committed By: martin Date: Wed Oct 17 13:45:31 UTC 2018 Modified Files: src/sys/dev/pci [netbsd-8]: aac_pci.c pcidevs Log Message: Pull up following revision(s) (requested by uwe in ticket #1064): sys/dev/pci/aac_pci.c: revision 1.39 sys/dev/pci/pcidevs: revision 1.1348 Add Adaptec RAID 2445 and 2805. >From Dima Veselov. To generate a diff of this commit: cvs rdiff -u -r1.38 -r1.38.8.1 src/sys/dev/pci/aac_pci.c cvs rdiff -u -r1.1289.2.9 -r1.1289.2.10 src/sys/dev/pci/pcidevs Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/dev/pci/aac_pci.c diff -u src/sys/dev/pci/aac_pci.c:1.38 src/sys/dev/pci/aac_pci.c:1.38.8.1 --- src/sys/dev/pci/aac_pci.c:1.38 Tue Sep 27 03:33:32 2016 +++ src/sys/dev/pci/aac_pci.c Wed Oct 17 13:45:31 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: aac_pci.c,v 1.38 2016/09/27 03:33:32 pgoyette Exp $ */ +/* $NetBSD: aac_pci.c,v 1.38.8.1 2018/10/17 13:45:31 martin Exp $ */ /*- * Copyright (c) 2002 The NetBSD Foundation, Inc. @@ -65,7 +65,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: aac_pci.c,v 1.38 2016/09/27 03:33:32 pgoyette Exp $"); +__KERNEL_RCSID(0, "$NetBSD: aac_pci.c,v 1.38.8.1 2018/10/17 13:45:31 martin Exp $"); #include #include @@ -364,6 +364,22 @@ static struct aac_ident { { PCI_VENDOR_ADP2, PCI_PRODUCT_ADP2_ASR2200S, PCI_VENDOR_ADP2, + PCI_PRODUCT_ADP2_2445, + AAC_HWIF_I960RX, + 0, + "Adaptec RAID 2445" + }, + { PCI_VENDOR_ADP2, + PCI_PRODUCT_ADP2_ASR2200S, + PCI_VENDOR_ADP2, + PCI_PRODUCT_ADP2_2805, + AAC_HWIF_I960RX, + 0, + "Adaptec RAID 2805" + }, + { PCI_VENDOR_ADP2, + PCI_PRODUCT_ADP2_ASR2200S, + PCI_VENDOR_ADP2, PCI_PRODUCT_ADP2_3405, AAC_HWIF_I960RX, 0, Index: src/sys/dev/pci/pcidevs diff -u src/sys/dev/pci/pcidevs:1.1289.2.9 src/sys/dev/pci/pcidevs:1.1289.2.10 --- src/sys/dev/pci/pcidevs:1.1289.2.9 Thu Jul 26 23:14:37 2018 +++ src/sys/dev/pci/pcidevs Wed Oct 17 13:45:31 2018 @@ -1,4 +1,4 @@ -$NetBSD: pcidevs,v 1.1289.2.9 2018/07/26 23:14:37 snj Exp $ +$NetBSD: pcidevs,v 1.1289.2.10 2018/10/17 13:45:31 martin Exp $ /* * Copyright (c) 1995, 1996 Christopher G. Demetriou @@ -891,6 +891,8 @@ product ADP2 AAR2810SA 0x0292 AAR-2810S product ADP2 3405 0x02bb RAID 3405 product ADP2 3805 0x02bc RAID 3805 product ADP2 2405 0x02d5 RAID 2405 +product ADP2 2445 0x02d6 RAID 2445 +product ADP2 2805 0x02d7 RAID 2805 product ADP2 AAC364 0x0364 AAC-364 product ADP2 ASR5400S 0x0365 ASR-5400S product ADP2 PERC_2QC 0x1364 Dell PERC 2/QC
CVS commit: [netbsd-8] src/sys/netinet
Module Name:src Committed By: martin Date: Wed Oct 17 13:38:04 UTC 2018 Modified Files: src/sys/netinet [netbsd-8]: ip_reass.c Log Message: Pull up following revision(s) (requested by maxv in ticket #1045): sys/netinet/ip_reass.c: revision 1.19-1.21 Hold ip_off and ip_len in the fragment entry, instead of always reading the associated mbuf (and converting to host order). This reduces the cache/TLB misses when processing long lists. - Kick fragments that would introduce several !MFFs in a reassembly chain. The problem arises if we receive three fragments of the kind 3. A -> has MFF 1. B -> doesn't have MFF 2. C -> doesn't have MFF Because of the received order B->C->A, we don't see that B is !MFF, and therefore that there is a problem in this chain. Now we do two checks, and drop us if: * there is a fragment preceding us, and this fragment is !MFF, or * there is a fragment following us, and we are !MFF Spotted a long time ago. - Force ip_off to zero when the reassembly is complete. This was lost in my rev1.19 - before that the IP struct was clobbered for the reassembly, but it actually implicitly guaranteed that the first fragment of the packet would end up with ip_off = 0, and this was a desired behavior. To generate a diff of this commit: cvs rdiff -u -r1.11.8.6 -r1.11.8.7 src/sys/netinet/ip_reass.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/netinet/ip_reass.c diff -u src/sys/netinet/ip_reass.c:1.11.8.6 src/sys/netinet/ip_reass.c:1.11.8.7 --- src/sys/netinet/ip_reass.c:1.11.8.6 Tue Oct 9 09:44:31 2018 +++ src/sys/netinet/ip_reass.c Wed Oct 17 13:38:04 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: ip_reass.c,v 1.11.8.6 2018/10/09 09:44:31 martin Exp $ */ +/* $NetBSD: ip_reass.c,v 1.11.8.7 2018/10/17 13:38:04 martin Exp $ */ /* * Copyright (c) 1982, 1986, 1988, 1993 @@ -46,7 +46,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ip_reass.c,v 1.11.8.6 2018/10/09 09:44:31 martin Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ip_reass.c,v 1.11.8.7 2018/10/17 13:38:04 martin Exp $"); #include #include @@ -80,6 +80,8 @@ typedef struct ipfr_qent { struct ip * ipqe_ip; struct mbuf * ipqe_m; bool ipqe_mff; + uint16_t ipqe_off; + uint16_t ipqe_len; } ipfr_qent_t; TAILQ_HEAD(ipfr_qent_head, ipfr_qent); @@ -215,7 +217,7 @@ ip_nmbclusters_changed(void) struct mbuf * ip_reass(ipfr_qent_t *ipqe, ipfr_queue_t *fp, const u_int hash) { - struct ip *ip = ipqe->ipqe_ip, *qip; + struct ip *ip = ipqe->ipqe_ip; const int hlen = ip->ip_hl << 2; struct mbuf *m = ipqe->ipqe_m, *t; int ipsecflags = m->m_flags & (M_DECRYPTED|M_AUTHIPHDR); @@ -230,16 +232,6 @@ ip_reass(ipfr_qent_t *ipqe, ipfr_queue_t m->m_data += hlen; m->m_len -= hlen; -#ifdef notyet - /* Make sure fragment limit is up-to-date. */ - CHECK_NMBCLUSTER_PARAMS(); - - /* If we have too many fragments, drop the older half. */ - if (ip_nfrags >= ip_maxfrags) { - ip_reass_drophalf(void); - } -#endif - /* * We are about to add a fragment; increment frag count. */ @@ -255,9 +247,9 @@ ip_reass(ipfr_qent_t *ipqe, ipfr_queue_t * never accept fragments b) if maxfrag is -1, accept * all fragments without limitation. */ - if (ip_maxfragpackets < 0) - ; - else if (ip_nfragpackets >= ip_maxfragpackets) { + if (ip_maxfragpackets < 0) { + /* no limit */ + } else if (ip_nfragpackets >= ip_maxfragpackets) { goto dropfrag; } fp = malloc(sizeof(ipfr_queue_t), M_FTABLE, M_NOWAIT); @@ -285,7 +277,7 @@ ip_reass(ipfr_qent_t *ipqe, ipfr_queue_t * Find a segment which begins after this one does. */ TAILQ_FOREACH(q, >ipq_fragq, ipqe_q) { - if (ntohs(q->ipqe_ip->ip_off) > ntohs(ip->ip_off)) + if (q->ipqe_off > ipqe->ipqe_off) break; } if (q != NULL) { @@ -295,39 +287,45 @@ ip_reass(ipfr_qent_t *ipqe, ipfr_queue_t } /* - * If there is a preceding segment, it may provide some of our - * data already. If so, drop the data from the incoming segment. - * If it provides all of our data, drop us. + * Look at the preceding segment. + * + * If it provides some of our data already, in part or entirely, trim + * us or drop us. + * + * If a preceding segment exists, and was marked as the last segment, + * drop us. */ if (p != NULL) { - i = ntohs(p->ipqe_ip->ip_off) + ntohs(p->ipqe_ip->ip_len) - - ntohs(ip->ip_off); + i = p->ipqe_off + p->ipqe_len - ipqe->ipqe_off; if (i > 0) { - if (i >= ntohs(ip->ip_len)) { + if (i >= ipqe->ipqe_len) { goto dropfrag; } m_adj(ipqe->ipqe_m, i); - ip->ip_off = htons(ntohs(ip->ip_off) + i); - ip->ip_len = htons(ntohs(ip->ip_len) - i); + ipqe->ipqe_off = ipqe->ipqe_off + i; + ipqe->ipqe_len = ipqe->ipqe_len - i; } } + if (p != NULL && !p->ipqe_mff) { + goto dropfrag; + } /* - * While we overlap succeeding segments trim them or, if they are - * completely
CVS commit: src/sys/arch/evbarm/conf
Module Name:src Committed By: skrll Date: Wed Oct 17 06:19:22 UTC 2018 Modified Files: src/sys/arch/evbarm/conf: HUMMINGBOARD Log Message: options To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/arch/evbarm/conf/HUMMINGBOARD Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/arch/evbarm/conf/HUMMINGBOARD diff -u src/sys/arch/evbarm/conf/HUMMINGBOARD:1.4 src/sys/arch/evbarm/conf/HUMMINGBOARD:1.5 --- src/sys/arch/evbarm/conf/HUMMINGBOARD:1.4 Tue Jun 5 08:03:28 2018 +++ src/sys/arch/evbarm/conf/HUMMINGBOARD Wed Oct 17 06:19:21 2018 @@ -1,5 +1,5 @@ # -# $NetBSD: HUMMINGBOARD,v 1.4 2018/06/05 08:03:28 hkenken Exp $ +# $NetBSD: HUMMINGBOARD,v 1.5 2018/10/17 06:19:21 skrll Exp $ # # Hummingboard -- Freescale i.MX6 Eval Board Kernel # @@ -22,8 +22,8 @@ options MULTIPROCESSOR options CONSDEVNAME="\"imxuart\"",CONADDR=0x0202 options CONSPEED=115200 # Console speed -#options DIAGNOSTIC # internal consistency checks -options DEBUG +#options DAGNOSTIC # internal consistency checks +options DEBUG #options KGDB makeoptions DEBUG="-g" # compile full symbol table makeoptions COPY_SYMTAB=1