<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.os.openbsd.tech">
    <title>gmane.os.openbsd.tech</title>
    <link>http://blog.gmane.org/gmane.os.openbsd.tech</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28858"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28857"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28856"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28855"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28854"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28853"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28852"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28851"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28850"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28849"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28848"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28847"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28846"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28845"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28844"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28843"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28842"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28841"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28840"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.os.openbsd.tech/28839"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28858">
    <title>mg history and window relocation</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28858</link>
    <description>&lt;pre&gt;Move the windows section in the tutorial to a more sensible place
(next to buffers) and move the mg history into the README file which
seems a more sensible place as well.

ok?

-lum

Index: README
===================================================================
RCS file: /cvs/src/usr.bin/mg/README,v
retrieving revision 1.9
diff -u -p -r1.9 README
--- README11 Apr 2012 17:51:10 -00001.9
+++ README25 May 2012 10:30:31 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -40,8 +40,16 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; People who have worked on previous versi
 
 rtech!daveb&amp;lt; at &amp;gt;sun.comDave Brower
 
-Currently maintained in the OpenBSD src tree, with contributions from
-many others.
+Early release history:
+
+* Nov 16, 1986: First release to mod.sources
+* Mar 3, 1987: First Release (mg1a) via comp.sources.unix
+* May 26, 1988: Second release: (mg2a) via comp.sources.misc
+* Jan 26, 1992: Linux port released by Charles Hedrick. This version
+  later makes its way onto tsx-11, Infomagic, and various other Linux
+  repositories.
+* Feb 25, 2000: First import into the OpenBSD tree, where it is
+  currently maintained.
 
 ----------------------------------------------------------------------
 
Index: tutorial
===================================================================
RCS file: /cvs/src/usr.bin/mg/tutorial,v
retrieving revision 1.9
diff -u -p -r1.9 tutorial
--- tutorial7 May 2012 13:52:58 -00001.9
+++ tutorial25 May 2012 10:30:32 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -118,20 +118,6 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; screen when you type C-g indicating that
 
 In general, when in doubt, use C-g to get out of trouble.
 
-Windows
--------
-
-The mg editor can support several windows at the same time, each one displaying
-different text. To split a screen into two horizontal windows use C-x 2 to do
-this. To return to one window, use C-x 1 to close the other windows and only
-keep the current window.
-
-&amp;gt;&amp;gt; Use C-x 2 to split the screen into two windows. 
-
-&amp;gt;&amp;gt; Use C-x o to move from one window to the other. You can scroll up and down
-   in each window using the cursor keys or C-n and C-p keys.
-
-&amp;gt;&amp;gt; Use C-x 1 to restore back to one window.
 
 Inserting/Deleting Text
 -----------------------
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -267,6 +253,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; in the bottom of your screen. In general
 often. When you save a file, mg saves a backup of the file with a tilde (~)
 character at the end.
 
+Windows
+-------
+
+The mg editor can support several windows at the same time, each one displaying
+different text. To split a screen into two horizontal windows use C-x 2 to do
+this. To return to one window, use C-x 1 to close the other windows and only
+keep the current window.
+
+&amp;gt;&amp;gt; Use C-x 2 to split the screen into two windows. 
+
+&amp;gt;&amp;gt; Use C-x o to move from one window to the other. You can scroll up and down
+   in each window using the cursor keys or C-n and C-p keys.
+
+&amp;gt;&amp;gt; Use C-x 1 to restore back to one window.
+
 Buffers
 -------
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -334,31 +335,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; information available via the mg(1) man 
 improvement, please don't hesitate to drop a message or (better still) submit
 a diff to tech&amp;lt; at &amp;gt;openbsd.org.
 
-History
--------
-
-mg is a public-domain text editor. It was originally based on MicroEMACS, but
-has since moved to more closely resemble GNU Emacs while still maintaining a
-small memory footprint and fast speed. 
-
-* Nov 16, 1986: First release to mod.sources
-* Mar 3, 1987: First Release (mg1a) via comp.sources.unix
-* May 26, 1988: Second release: (mg2a) via comp.sources.misc
-* Jan 26, 1992: Linux port released by Charles Hedrick. This version
-  later makes its way onto tsx-11, Infomagic, and various other Linux
-  repositories. 
-* Feb 25, 2000: First import into the OpenBSD tree, where it is
-  currently maintained
-
-The mg editor was originally named MicroGNUEmacs. The name was changed at
-the request of Richard Stallman, as this software is entirely unrelated to
-the GNU project. 
-
 Author Info
 -----------
 
 Original Author of this document: Mayukh Bose, 
-Date last updated: 2012-01-17
+Date last updated: 2012-05-25
 
 Copyright
 ---------


&lt;/pre&gt;</description>
    <dc:creator>Mark Lumsden</dc:creator>
    <dc:date>2012-05-25T10:39:50</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28857">
    <title>mg end of buffer page down diff</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28857</link>
    <description>&lt;pre&gt;When you page down a document and get to the last page, mg doesn't
stop, it keeps going until the last line is at the top of the window.
This diff makes mg stop paging down when the end of the text is
visible. 

Comments/ok?

-lum
ps some whitespace for readability added. 

Index: basic.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/basic.c,v
retrieving revision 1.30
diff -u -p -r1.30 basic.c
--- basic.c4 Jun 2009 02:23:37 -00001.30
+++ basic.c25 May 2012 07:40:33 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -266,16 +266,20 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; forwpage(int f, int n)
 n = 1;/* if tiny window. */
 } else if (n &amp;lt; 0)
 return (backpage(f | FFRAND, -n));
+
 lp = curwp-&amp;gt;w_linep;
-while (n-- &amp;amp;&amp;amp; lforw(lp) != curbp-&amp;gt;b_headp) {
-lp = lforw(lp);
-}
+while (n--)
+if ((lp = lforw(lp)) == curbp-&amp;gt;b_headp)
+return(TRUE);
+
 curwp-&amp;gt;w_linep = lp;
 curwp-&amp;gt;w_rflag |= WFFULL;
+
 /* if in current window, don't move dot */
-for (n = curwp-&amp;gt;w_ntrows; n-- &amp;amp;&amp;amp; lp != curbp-&amp;gt;b_headp; lp = lforw(lp))
+for (n = curwp-&amp;gt;w_ntrows; n--; lp = lforw(lp))
 if (lp == curwp-&amp;gt;w_dotp)
 return (TRUE);
+
 /* Advance the dot the slow way, for line nos */
 while (curwp-&amp;gt;w_dotp != curwp-&amp;gt;w_linep) {
 curwp-&amp;gt;w_dotp = lforw(curwp-&amp;gt;w_dotp);


&lt;/pre&gt;</description>
    <dc:creator>Mark Lumsden</dc:creator>
    <dc:date>2012-05-25T08:16:56</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28856">
    <title>Aromatizador automatico 57% OFF | Pochoclera Automatica 53% OFF | Juego de Cocina 51% OFF  | Cuchillo Deli Pro  60% OFF | Test de Alcoholemia 67% OFF | Cena Gourmet 52% OFF</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28856</link>
    <description>&lt;pre&gt;Para visualizar correctamente este newsletter ingresa a
http://news1.bonuscupon.com.ar/r.html?uid=1.j.295h.9y.2ij1azebm9


&lt;/pre&gt;</description>
    <dc:creator>Bonus Cupon</dc:creator>
    <dc:date>2012-05-24T23:57:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28855">
    <title>Bocaditos y Mini Sándwiches por Delivery. publicidad   mo son</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28855</link>
    <description>&lt;pre&gt;
[demime 1.01d removed an attachment of type image/jpeg which had a name of fcraniano.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of anhelante.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of ndesventajosa.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of tverdeceledon.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of ecuestre.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of cfrancolina.jpg]

[demime 1.01d removed an attachment of type image/jpeg which had a name of flaqueado.jpg]


&lt;/pre&gt;</description>
    <dc:creator>Montecristo Café·Restaurante  </dc:creator>
    <dc:date>2012-05-24T22:20:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28854">
    <title>Re: mg - start up file diffs (2 of 2)</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28854</link>
    <description>&lt;pre&gt;
So its good to test.

Here is an updated diff, which DOES update any set-default-modes.

-lum

Index: main.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/main.c,v
retrieving revision 1.64
diff -u -p -r1.64 main.c
--- main.c12 Apr 2012 04:47:59 -00001.64
+++ main.c24 May 2012 15:15:34 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -98,19 +98,28 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; main(int argc, char **argv)
  */
 update();
 
-/* user startup file */
-if ((cp = startupfile(NULL)) != NULL)
-(void)load(cp);
-
 /*
  * Create scratch buffer now, killing old *init* buffer.
- * This causes *scratch* to be created and made curbp,
- * ensuring default modes are inherited from the startup
- * file correctly
+ * This causes *scratch* to be created and made curbp.
  */
-
 if ((bp = bfind("*init*", FALSE)) != NULL)
 killbuffer(bp);
+
+/* user startup file. */
+if ((cp = startupfile(NULL)) != NULL)
+(void)load(cp);
+
+/* 
+ * Now ensure any default buffer modes from the startup file are
+ * given to any files opened when parsing the startup file.
+ * Note *scratch* will also be updated.
+ */
+for (bp = bheadp; bp != NULL; bp = bp-&amp;gt;b_bufp) {
+bp-&amp;gt;b_flag = defb_flag;
+for (i = 0; i &amp;lt;= defb_nmodes; i++) {
+                bp-&amp;gt;b_modes[i] = defb_modes[i];
+        }
+}
 
 /* Force FFOTHARG=1 so that this mode is enabled, not simply toggled */
 if (init_fcn)


&lt;/pre&gt;</description>
    <dc:creator>Mark Lumsden</dc:creator>
    <dc:date>2012-05-24T15:24:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28853">
    <title>Re: Memory leak in snmpd(8)</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28853</link>
    <description>&lt;pre&gt;On Thu, 24 May 2012 16:16:02 +0200, Kenneth R Westerback
&amp;lt;kwesterback&amp;lt; at &amp;gt;rogers.com&amp;gt; wrote:

Hi Ken,

I like your patch; it's better than mine.

And you are right about the socket fd leak. If an ioctl()
would close the filedes passed in that would be a very
awkward API.

Gerhard

--
GeNUA, Gesellschaft fC&amp;lt;r Netzwerk- und Unix-Administration mbH
Domagkstrasse 7, 85551 Kirchheim bei Muenchen
tel +49 89 991950-0, fax -999, www.genua.de
Geschaeftsfuehrer: Dr. Magnus Harlander, Dr. Michaela Harlander,
Bernhard Schneck. Amtsgericht Muenchen HRB 98238


&lt;/pre&gt;</description>
    <dc:creator>Gerhard Roth</dc:creator>
    <dc:date>2012-05-24T14:33:46</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28852">
    <title>Re: Memory leak in snmpd(8)</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28852</link>
    <description>&lt;pre&gt;
Calling mib_carpget() seems a tad over complex. Wouldn't the diff
below make it cleaner? Untested except by gcc.

And doesn't the socket 's' leak too, or does SIOCGVH returning -1
mean 's' was closed?

.... Ken

Index: mib.c
===================================================================
RCS file: /cvs/src/usr.sbin/snmpd/mib.c,v
retrieving revision 1.52
diff -u -p -r1.52 mib.c
--- mib.c20 Mar 2012 03:01:26 -00001.52
+++ mib.c24 May 2012 14:11:22 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1360,7 +1360,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; int mib_carpstats(struct oid *, struct 
 int mib_carpiftable(struct oid *, struct ber_oid *, struct ber_element **);
 int mib_carpifnum(struct oid *, struct ber_oid *, struct ber_element **);
 struct carpif
-*mib_carpifget(struct carpif *, u_int);
+*mib_carpifget(u_int);
 int mib_memiftable(struct oid *, struct ber_oid *, struct ber_element **);
 
 static struct oid openbsd_mib[] = {
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2647,9 +2647,10 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mib_carpifnum(struct oid *oid, struct be
 }
 
 struct carpif *
-mib_carpifget(struct carpif *cif, u_int idx)
+mib_carpifget(u_int idx)
 {
 struct kif*kif;
+struct carpif*cif;
 int s;
 struct ifreq ifr;
 struct carpreq carpr;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2692,9 +2693,12 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mib_carpifget(struct carpif *cif, u_int 
 if (ioctl(s, SIOCGVH, (caddr_t)&amp;amp;ifr) == -1)
 return (NULL);
 
-memset(cif, 0, sizeof(struct carpif));
-memcpy(&amp;amp;cif-&amp;gt;carpr, &amp;amp;carpr, sizeof(struct carpreq));
-memcpy(&amp;amp;cif-&amp;gt;kif, kif, sizeof(struct kif));
+cif = malloc(sizeof(struct carpif));
+if (cif != NULL) {
+memset(cif, 0, sizeof(struct carpif));
+memcpy(&amp;amp;cif-&amp;gt;carpr, &amp;amp;carpr, sizeof(struct carpreq));
+memcpy(&amp;amp;cif-&amp;gt;kif, kif, sizeof(struct kif));
+}
 
 close(s);
 
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2707,16 +2711,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mib_carpiftable(struct oid *oid, struct 
 u_int32_t idx;
 struct carpif *cif;
 
-if ((cif = malloc(sizeof(struct carpif))) == NULL)
-return (1);
-
 /* Get and verify the current row index */
 idx = o-&amp;gt;bo_id[OIDIDX_carpIfEntry];
 
-if ((cif = mib_carpifget(cif, idx)) == NULL) {
-free(cif);
+if ((cif = mib_carpifget(idx)) == NULL)
 return (1);
-}
 
 /* Tables need to prepend the OID on their own */
 o-&amp;gt;bo_id[OIDIDX_carpIfEntry] = cif-&amp;gt;kif.if_index;


&lt;/pre&gt;</description>
    <dc:creator>Kenneth R Westerback</dc:creator>
    <dc:date>2012-05-24T14:16:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28851">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28851</link>
    <description>&lt;pre&gt;
Come on. It obviously has to be "yapcib" since it's yet another pcib.

Miod


&lt;/pre&gt;</description>
    <dc:creator>Miod Vallat</dc:creator>
    <dc:date>2012-05-24T13:30:33</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28850">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28850</link>
    <description>&lt;pre&gt; &amp;lt;mitja&amp;lt; at &amp;gt;muzenic.net&amp;gt; [2012-05-24 07:23:22]:

We typically prefer shorter names.  tcpcib might not be such a bad name.


&lt;/pre&gt;</description>
    <dc:creator>Mark Kettenis</dc:creator>
    <dc:date>2012-05-24T13:08:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28849">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28849</link>
    <description>&lt;pre&gt;* Mitja MuE&amp;gt;eniD
 &amp;lt;mitja&amp;lt; at &amp;gt;muzenic.net&amp;gt; [2012-05-24 07:23:22]:

Looking at the watchdog code, it looks like the kernel will refresh the
timer every period / 2, so for a 60 second timeout, it could fire
anywhere between 30-60 seconds after the host hangs.


Yes, that makes sense.


Better than esixhundredpcib ;-)

Does anyone have any suggestions? e6xxpcib? atompcib? iatcpcib?

Matt


&lt;/pre&gt;</description>
    <dc:creator>Matt Dainty</dc:creator>
    <dc:date>2012-05-24T12:47:52</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28848">
    <title>Memory leak in snmpd(8)</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28848</link>
    <description>&lt;pre&gt;Hi,

with the OPENBSD-CARP-MIB a memory leak was introduced to snmpd(8):

RCS file: mib.c,v
retrieving revision 1.52
diff -u -p -r1.52 mib.c
--- mib.c       2012/03/20 03:01:26     1.52
+++ mib.c       2012/05/24 12:53:35
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -2713,7 +2713,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; mib_carpiftable(struct oid *oid, struct ber_oid *o,
st
         /* Get and verify the current row index */
         idx = o-&amp;gt;bo_id[OIDIDX_carpIfEntry];

-       if ((cif = mib_carpifget(cif, idx)) == NULL) {
+       if (mib_carpifget(cif, idx) == NULL) {
                 free(cif);
                 return (1);
         }


Gerhard

--
GeNUA, Gesellschaft fC&amp;lt;r Netzwerk- und Unix-Administration mbH
Domagkstrasse 7, 85551 Kirchheim bei Muenchen
tel +49 89 991950-0, fax -999, www.genua.de
Geschaeftsfuehrer: Dr. Magnus Harlander, Dr. Michaela Harlander,
Bernhard Schneck. Amtsgericht Muenchen HRB 98238


&lt;/pre&gt;</description>
    <dc:creator>Gerhard Roth</dc:creator>
    <dc:date>2012-05-24T11:54:36</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28847">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28847</link>
    <description>&lt;pre&gt;
No, pchpcib is inappropriate.  This device is part of the CPU itself,
not on EG20T Platform Controller Hub companion chip.



&lt;/pre&gt;</description>
    <dc:creator>Mark Kettenis</dc:creator>
    <dc:date>2012-05-24T11:25:54</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28846">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28846</link>
    <description>&lt;pre&gt;Works for me on net6501 on i386 GENERIC and GENERIC.MP

after a succesfull watchdog fire:

e600pcib0 at pci0 dev 31 function 0 "Intel E600 LPC" rev 0x00: watchdog,
reboot on timeout

It did fire a bit too early though, my watchdog period was set to 32 seconds
and the machine did reset after 26 seconds on my stopwatch. Similarly, with
a 60 second period it fired after ~50 seconds. Don't know if it really
matters though....

Finally, can you mention that the valid period range is 1-600 seconds? The
code does it right by silently lowering a too-high period to 600, but it
would be nice to have it mentioned in the manpages too.

[msata] # sysctl kern.watchdog.period=1
kern.watchdog.period: 0 -&amp;gt; 1
[msata] # sysctl kern.watchdog.period
kern.watchdog.period=1
[msata] # sysctl kern.watchdog.period=10000
kern.watchdog.period: 1 -&amp;gt; 10000
[msata] # sysctl kern.watchdog.period
kern.watchdog.period=600

Regards, Mitja

P.S. While I was composing this reply some other mails have come through.
How about esixoopcib ? :)

Address */
*/
*/
*/
*/
*/
*/
*/
Output
*/
*/
Select
Register
*/
Lock
Enable


&lt;/pre&gt;</description>
    <dc:creator>Mitja Muženič</dc:creator>
    <dc:date>2012-05-24T11:21:43</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28845">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28845</link>
    <description>&lt;pre&gt;
heh, my bad, i had doubts that wdt was actually part of the cpu...


&lt;/pre&gt;</description>
    <dc:creator>Mike Belopuhov</dc:creator>
    <dc:date>2012-05-24T11:16:15</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28844">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28844</link>
    <description>&lt;pre&gt;
I'm not sure what it should be but pch seems a bit wrong, as
the LPC device is part of the E600 chip not the EG20T PCH in this
case.  It isn't clear how compatible this is across the other
chips either.  Is it the sort of thing that is only compatible to 
tunnel creek/e600 or other chips as well?

On another recent Atom PCH for example, the NM10 it still has a
LPC controller and the watchdog seems to have a different register layout.


&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gray</dc:creator>
    <dc:date>2012-05-24T11:04:32</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28843">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28843</link>
    <description>&lt;pre&gt;
i don't think you need to include SMALL_KERNEL here
as we're not going to add it to ramdisks anyway.  in fact
SMALL_KERNEL can be stripped of all the other *pcib
drivers as we don't (or shouldn't) have them on the
ramdisks anymore.

no need to resend a diff just with this change though.
wait a bit till something else pops up (;


&lt;/pre&gt;</description>
    <dc:creator>Mike Belopuhov</dc:creator>
    <dc:date>2012-05-24T10:37:37</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28842">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28842</link>
    <description>&lt;pre&gt;* Jonathan Gray &amp;lt;jsg&amp;lt; at &amp;gt;jsg.id.au&amp;gt; [2012-05-24 01:23:28]:

Yes, I got a couple of private mails stating the same, which explains
why I hadn't seen any others. Anyway, Mike Belopuhov suggested pchpcib
as an alternative name so I've renamed the driver to that along with
the man pages, etc.

Here's the dmesg now:

---8&amp;lt;---
pchpcib0 at pci0 dev 31 function 0 "Intel E600 LPC" rev 0x00: watchdog
isa0 at pchpcib0
---8&amp;lt;---

Looks much better to me too.


Thanks, much appreciated.

Updated patch below.

Matt

--- /dev/nullThu May 24 00:43:16 2012
+++ sys/dev/pci/pchpcib.cThu May 24 00:34:28 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,220 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+/*$OpenBSD$*/
+
+/*
+ * Copyright (c) 2012 Matt Dainty &amp;lt;matt&amp;lt; at &amp;gt;bodgit-n-scarper.com&amp;gt;
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
+ * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * Intel Atom E600 series LPC bridge also containing watchdog
+ */
+
+#include &amp;lt;sys/param.h&amp;gt;
+#include &amp;lt;sys/systm.h&amp;gt;
+#include &amp;lt;sys/device.h&amp;gt;
+
+#include &amp;lt;machine/bus.h&amp;gt;
+
+#include &amp;lt;dev/pci/pcireg.h&amp;gt;
+#include &amp;lt;dev/pci/pcivar.h&amp;gt;
+#include &amp;lt;dev/pci/pcidevs.h&amp;gt;
+
+#defineE600_LPC_SMBA0x40/* SMBus Base Address */
+#defineE600_LPC_GBA0x44/* GPIO Base Address */
+#defineE600_LPC_WDTBA0x84/* WDT Base Address */
+
+#defineE600_WDT_SIZE64/* I/O region size */
+#defineE600_WDT_PV10x00/* Preload Value 1 Register */
+#defineE600_WDT_PV20x04/* Preload Value 2 Register */
+#defineE600_WDT_RR00x0c/* Reload Register 0 */
+#defineE600_WDT_RR10x0d/* Reload Register 1 */
+#defineE600_WDT_RR1_RELOAD(1 &amp;lt;&amp;lt; 0)/* WDT Reload Flag */
+#defineE600_WDT_RR1_TIMEOUT(1 &amp;lt;&amp;lt; 1)/* WDT Timeout Flag */
+#defineE600_WDT_WDTCR0x10/* WDT Configuration Register */
+#defineE600_WDT_WDTCR_TIMEOUT(1 &amp;lt;&amp;lt; 5)/* WDT Timeout Output Enable */
+#defineE600_WDT_WDTCR_ENABLE(1 &amp;lt;&amp;lt; 4)/* WDT Reset Enable */
+#defineE600_WDT_WDTCR_RESET(1 &amp;lt;&amp;lt; 3)/* WDT Reset Select */
+#defineE600_WDT_WDTCR_PRE(1 &amp;lt;&amp;lt; 2)/* WDT Prescalar Select */
+#defineE600_WDT_DCR0x14/* Down Counter Register */
+#defineE600_WDT_WDTLR0x18/* WDT Lock Register */
+#defineE600_WDT_WDTLR_LOCK(1 &amp;lt;&amp;lt; 0)/* Watchdog Timer Lock */
+#defineE600_WDT_WDTLR_ENABLE(1 &amp;lt;&amp;lt; 1)/* Watchdog Timer Enable */
+#defineE600_WDT_WDTLR_TIMEOUT(1 &amp;lt;&amp;lt; 2)/* WDT Timeout Configuration */
+
+struct pchpcib_softc {
+struct device sc_dev;
+
+/* Watchdog interface */
+bus_space_tag_t sc_wdt_iot;
+bus_space_handle_t sc_wdt_ioh;
+
+int sc_wdt_period;
+};
+
+struct cfdriver pchpcib_cd = {
+NULL, "pchpcib", DV_DULL
+};
+
+int pchpcib_match(struct device *, void *, void *);
+void pchpcib_attach(struct device *, struct device *, void *);
+
+int pchpcib_wdt_cb(void *, int);
+
+struct cfattach pchpcib_ca = {
+sizeof(struct pchpcib_softc), pchpcib_match, pchpcib_attach
+};
+
+/* from arch/&amp;lt;*&amp;gt;/pci/pcib.c */
+voidpcibattach(struct device *parent, struct device *self, void *aux);
+
+const struct pci_matchid pchpcib_devices[] = {
+{ PCI_VENDOR_INTEL,PCI_PRODUCT_INTEL_E600_LPC }
+};
+
+#ifndef SMALL_KERNEL
+static __inline void
+pchpcib_wdt_unlock(struct pchpcib_softc *sc)
+{
+/* Register unlocking sequence */
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh, E600_WDT_RR0, 0x80);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh, E600_WDT_RR0, 0x86);
+}
+#endif/* !SMALL_KERNEL */
+
+int
+pchpcib_match(struct device *parent, void *match, void *aux)
+{
+if (pci_matchbyid((struct pci_attach_args *)aux, pchpcib_devices,
+    sizeof(pchpcib_devices) / sizeof(pchpcib_devices[0])))
+return (2);
+
+return (0);
+}
+
+void
+pchpcib_attach(struct device *parent, struct device *self, void *aux)
+{
+#ifndef SMALL_KERNEL
+struct pchpcib_softc *sc = (struct pchpcib_softc *)self;
+struct pci_attach_args *pa = aux;
+u_int32_t reg, wdtbase;
+
+/* Map Watchdog I/O space */
+reg = pci_conf_read(pa-&amp;gt;pa_pc, pa-&amp;gt;pa_tag, E600_LPC_WDTBA);
+wdtbase = reg &amp;amp; 0xffff;
+sc-&amp;gt;sc_wdt_iot = pa-&amp;gt;pa_iot;
+if (reg &amp;amp; (1 &amp;lt;&amp;lt; 31) &amp;amp;&amp;amp; wdtbase) {
+if (PCI_MAPREG_IO_ADDR(wdtbase) == 0 ||
+    bus_space_map(sc-&amp;gt;sc_wdt_iot, PCI_MAPREG_IO_ADDR(wdtbase),
+    E600_WDT_SIZE, 0, &amp;amp;sc-&amp;gt;sc_wdt_ioh)) {
+printf(": can't map watchdog I/O space");
+goto corepcib;
+}
+printf(": watchdog");
+
+/* Check for reboot on timeout */
+reg = bus_space_read_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_RR1);
+if (reg &amp;amp; E600_WDT_RR1_TIMEOUT) {
+printf(", reboot on timeout");
+
+/* Clear timeout bit */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_RR1, E600_WDT_RR1_TIMEOUT);
+}
+
+/* Check it's not locked already */
+reg = bus_space_read_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_WDTLR);
+if (reg &amp;amp; E600_WDT_WDTLR_LOCK) {
+printf(", locked");
+goto corepcib;
+}
+
+/* Disable watchdog */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_WDTLR, 0);
+sc-&amp;gt;sc_wdt_period = 0;
+
+/* Register new watchdog */
+wdog_register(sc, pchpcib_wdt_cb);
+}
+
+corepcib:
+#endif/* !SMALL_KERNEL */
+/* Provide core pcib(4) functionality */
+pcibattach(parent, self, aux);
+}
+
+#ifndef SMALL_KERNEL
+int
+pchpcib_wdt_cb(void *arg, int period)
+{
+struct pchpcib_softc *sc = arg;
+u_int32_t preload;
+
+if (period == 0) {
+if (sc-&amp;gt;sc_wdt_period != 0) {
+/* Disable watchdog, with a reload before for safety */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_RR1, E600_WDT_RR1_RELOAD);
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_WDTLR, 0);
+}
+} else {
+/* 600 seconds is the maximum supported timeout value */
+if (period &amp;gt; 600)
+period = 600;
+if (sc-&amp;gt;sc_wdt_period != period) {
+/* Set new timeout */
+preload = (period * 33000000) &amp;gt;&amp;gt; 15;
+preload--;
+
+/* Set watchdog to perform a cold reset toggling the
+ * GPIO pin and the timer set to 1ms-10m resolution
+ */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_WDTCR, E600_WDT_WDTCR_ENABLE);
+pchpcib_wdt_unlock(sc);
+bus_space_write_4(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_PV1, 0);
+pchpcib_wdt_unlock(sc);
+bus_space_write_4(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_PV2, preload);
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_RR1, E600_WDT_RR1_RELOAD);
+}
+if (sc-&amp;gt;sc_wdt_period == 0) {
+/* Enable watchdog */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_WDTLR, E600_WDT_WDTLR_ENABLE);
+} else {
+/* Reset timer */
+pchpcib_wdt_unlock(sc);
+bus_space_write_1(sc-&amp;gt;sc_wdt_iot, sc-&amp;gt;sc_wdt_ioh,
+    E600_WDT_RR1, E600_WDT_RR1_RELOAD);
+}
+}
+sc-&amp;gt;sc_wdt_period = period;
+
+return (period);
+}
+#endif/* !SMALL_KERNEL */
--- /dev/nullThu May 24 00:43:40 2012
+++ share/man/man4/man4.i386/pchpcib.4Thu May 24 00:35:24 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,55 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+.\"     $OpenBSD$
+.\"
+.\" Copyright (c) 2012 Matt Dainty &amp;lt;matt&amp;lt; at &amp;gt;bodgit-n-scarper.com&amp;gt;
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate$
+.Dt PCHPCIB 4 i386
+.Os
+.Sh NAME
+.Nm pchpcib
+.Nd Intel Atom E600 series LPC bridge and watchdog
+.Sh SYNOPSIS
+.Cd "pchpcib* at pci?"
+.Cd "isa* at pchpcib?"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the Intel Atom E600 series LPC bridge and
+provides the standard
+.Xr watchdog 4
+interface to the watchdog timer and may be used with
+.Xr watchdogd 8 .
+The watchdog timer can be configured via
+.Xr sysctl 8 .
+.Pp
+Once the watchdog timer resets the CPU, the driver reports it on the
+next boot displaying the ``reboot on timeout'' message in the dmesg.
+.Sh SEE ALSO
+.Xr intro 4 ,
+.Xr isa 4 ,
+.Xr pci 4 ,
+.Xr watchdog 4
+.Xr sysctl 8
+.Xr watchdogd 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 5.2 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Matt Dainty Aq matt&amp;lt; at &amp;gt;bodgit-n-scarper.com .
--- /dev/nullThu May 24 00:43:52 2012
+++ share/man/man4/man4.amd64/pchpcib.4Thu May 24 00:36:02 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -0,0 +1,55 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
+.\"     $OpenBSD$
+.\"
+.\" Copyright (c) 2012 Matt Dainty &amp;lt;matt&amp;lt; at &amp;gt;bodgit-n-scarper.com&amp;gt;
+.\"
+.\" Permission to use, copy, modify, and distribute this software for any
+.\" purpose with or without fee is hereby granted, provided that the above
+.\" copyright notice and this permission notice appear in all copies.
+.\"
+.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+.\"
+.Dd $Mdocdate$
+.Dt PCHPCIB 4 amd64
+.Os
+.Sh NAME
+.Nm pchpcib
+.Nd Intel Atom E600 series LPC bridge and watchdog
+.Sh SYNOPSIS
+.Cd "pchpcib* at pci?"
+.Cd "isa* at pchpcib?"
+.Sh DESCRIPTION
+The
+.Nm
+driver provides support for the Intel Atom E600 series LPC bridge and
+provides the standard
+.Xr watchdog 4
+interface to the watchdog timer and may be used with
+.Xr watchdogd 8 .
+The watchdog timer can be configured via
+.Xr sysctl 8 .
+.Pp
+Once the watchdog timer resets the CPU, the driver reports it on the
+next boot displaying the ``reboot on timeout'' message in the dmesg.
+.Sh SEE ALSO
+.Xr intro 4 ,
+.Xr isa 4 ,
+.Xr pci 4 ,
+.Xr watchdog 4
+.Xr sysctl 8
+.Xr watchdogd 8
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Ox 5.2 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Matt Dainty Aq matt&amp;lt; at &amp;gt;bodgit-n-scarper.com .
--- share/man/man4/man4.i386/Makefile.origWed May 23 21:03:38 2012
+++ share/man/man4/man4.i386/MakefileThu May 24 00:37:33 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -6,7 +6,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 esm.4 geodesc.4 glxpcib.4 glxsb.4 gscpcib.4 gscpm.4 gus.4 ie.4 \
 ichpcib.4 intro.4 ioapic.4 \
 joy.4 le.4 lms.4 mem.4 mms.4 mpbios.4 mtrr.4 npx.4 nvram.4 \
-pas.4 pcibios.4 pctr.4 piixpcib.4 sb.4 \
+pas.4 pchpcib.4 pcibios.4 pctr.4 piixpcib.4 sb.4 \
 sea.4 uha.4 wds.4 wdt.4 wss.4
 
 MLINKS+= mem.4 kmem.4
--- share/man/man4/man4.amd64/Makefile.origWed May 23 21:04:42 2012
+++ share/man/man4/man4.amd64/MakefileThu May 24 00:36:32 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -1,7 +1,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 #$OpenBSD: Makefile,v 1.14 2011/03/18 12:40:29 deraadt Exp $
 
 MAN=amdpcib.4 apm.4 autoconf.4 bios.4 cpu.4 intro.4 ioapic.4 \
-mem.4 mpbios.4 nvram.4 mtrr.4 pctr.4
+mem.4 mpbios.4 nvram.4 mtrr.4 pchpcib.4 pctr.4
 
 MLINKS+= mem.4 kmem.4
 MANSUBDIR=amd64
--- sys/arch/i386/conf/files.i386.origWed May 23 18:18:01 2012
+++ sys/arch/i386/conf/files.i386Thu May 24 00:38:53 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -147,7 +147,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 # PCI-ISA bridge chipsets
 devicepcib: isabus
 attachpcib at pci
-filearch/i386/pci/pcib.cpcib | ichpcib | gscpcib | glxpcib | piixpcib | amdpcib
+filearch/i386/pci/pcib.cpcib | ichpcib | gscpcib | glxpcib | piixpcib | amdpcib | pchpcib
 
 # Intel ICHx/ICHx-M LPC bridges
 deviceichpcib: isabus
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -168,6 +168,11 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 deviceamdpcib: isabus
 attachamdpcib at pci
 filedev/pci/amdpcib.camdpcib
+
+# Intel Atom E600 LPC bridge
+devicepchpcib: isabus
+attachpchpcib at pci
+filedev/pci/pchpcib.cpchpcib
 
 devicehme: ether, ifnet, mii, ifmedia
 filedev/ic/hme.chme
--- sys/arch/amd64/conf/files.amd64.origWed May 23 14:16:11 2012
+++ sys/arch/amd64/conf/files.amd64Thu May 24 00:39:35 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -147,12 +147,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 # PCI-ISA bridges
 devicepcib: isabus
 attachpcib at pci
-filearch/amd64/pci/pcib.cpcib | amdpcib
+filearch/amd64/pci/pcib.cpcib | amdpcib | pchpcib
 
 # AMD 8111 LPC bridge
 deviceamdpcib: isabus
 attachamdpcib at pci
 filedev/pci/amdpcib.camdpcib
+
+# Intel Atom E600 LPC bridge
+devicepchpcib: isabus
+attachpchpcib at pci
+filedev/pci/pchpcib.cpchpcib
 
 deviceaapic
 attachaapic at pci
--- sys/arch/i386/conf/GENERIC.origWed May 23 18:17:57 2012
+++ sys/arch/i386/conf/GENERICThu May 24 00:38:19 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -72,6 +72,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 isa0at mainbus0
 isa0at pcib?
 isa0at amdpcib?
+isa0at pchpcib?
 isa0at ichpcib?
 isa0at piixpcib?
 isa0at gscpcib?
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -85,6 +86,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 pci*at pchb?
 pcib*at pci?# PCI-ISA bridge
 amdpcib* at pci?# AMD 8111 LPC bridge 
+pchpcib* at pci?# Intel Atom E600 LPC bridge
 ichpcib* at pci?# Intel ICHx/ICHx-M LPC bridges
 piixpcib* at pci?# Intel PIIX4 PCI-ISA bridge
 gscpcib* at pci?# NS Geode SC1100 PCI-ISA bridge
--- sys/arch/amd64/conf/GENERIC.origWed May 23 12:29:16 2012
+++ sys/arch/amd64/conf/GENERICThu May 24 00:39:10 2012
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -34,6 +34,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 isa0at mainbus0
 isa0at pcib?
 isa0at amdpcib?
+isa0at pchpcib?
 pci*at mainbus0
 
 acpi0at bios0
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -73,6 +74,7 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt;
 pci*at pchb?
 pcib*at pci?# PCI-ISA bridge
 amdpcib* at pci?# AMD 8111 LPC bridge
+pchpcib* at pci?# Intel Atom E600 LPC bridge
 kate*at pci?# AMD K8 temperature sensor
 km*at pci?# AMD K10 temperature sensor
 amas*at pci? disable# AMD memory configuration


&lt;/pre&gt;</description>
    <dc:creator>Matt Dainty</dc:creator>
    <dc:date>2012-05-24T10:30:02</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28841">
    <title>Campamentos Científicos para docentes y alumnos</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28841</link>
    <description>&lt;pre&gt;OBSERVATORIO ASTRONOMICO
AMPIMPA
TUCUMAN - ARGENTINA
Declarado de Interis Educativo por el Ministerio de Educacisn de la
Nacisn
  _____

tech&amp;lt; at &amp;gt;openbsd.org
At.


Campamentos Cientmficos 2012/2013
- Aqos del Maximo Solar -
  Docetes
Campamentos Cientmficos exclusivos para Docentes
"La ciencia en el Aula. Nuevos enfoques didacticos"

22 al  25 de Junio de 2012 (haga click para ver mayor informacisn)
&amp;lt;http://www.astrotuc.com.ar/Paginas/noticia.asp?id=145&amp;amp;p=1&amp;gt;

 17 al 20 de Agosto de 2012 (haga Click para ver mayor informacisn)
&amp;lt;http://www.skytuc.com.ar/Paginas/noticia.asp?id=157&amp;amp;p=1&amp;gt;

(Ver aqum imagenes de campamentos docentes anteriores)
&amp;lt;http://www.astrotuc.com.ar/Paginas/img_campdoc.htm&amp;gt;

  Presentacisn

Tambiin: talleres
&amp;lt;http://www.astrotuc.com.ar/temp/BANNER%20CAMPAMENTOS%20OBSERVATORIO%20t
allereslr.jpg&amp;gt;

Campamentos Cientmficos Educativos
para grupos de alumnos

Organice campamentos cientmficos con los alumnos de su Colegio/Escuela.
Participe con ellos de esta experiencia Cohetes
&amp;lt;http://www.astrotuc.com.ar/temp/BANNER%20CAMPAMENTOS%20OBSERVATORIO%20c
ohetes%20lr.jpg&amp;gt; educativa znica.

Ver aqum imagenes de Campamentos con Alumnos
&amp;lt;http://www.astrotuc.com.ar/Paginas/campamentos_esc.htm&amp;gt;

Ver Aqum Noticias en la Prensa:
Pagina 1 &amp;lt;http://www.skytuc.com.ar/temp/plano4lra.gif&amp;gt;
Pagina 2 &amp;lt;http://www.skytuc.com.ar/temp/plano2lra.gif&amp;gt;

Ya se pueden reservar fechas del 2012 y 2013 !!! (Fechas y cupos
limitados) Geologma
&amp;lt;http://www.astrotuc.com.ar/temp/BANNER%20CAMPAMENTOS%20OBSERVATORIO%20c
aminatas%20lr.jpg&amp;gt;

Para ver mayor informacisn y/o consultas sobre campamentos con alumnos,
haga click aqum &amp;lt;http://www.astrotuc.com.ar/Paginas/noticia.asp?id=96&amp;gt;



El Cielos de Ampimpa
&amp;lt;http://www.astrotuc.com.ar/temp/BANNER%20CAMPAMENTOS%20OBSERVATORIO%20c
ielo.jpg&amp;gt;

Actividades Especiales en los Campamentos Cientmficos durante todo el
aqo 2012 y 2013

                                           Los esperamos.....

  _____

Si no desea recibir nuevas notificaciones por favor responda este mail
solicitando ser removido de nuestra lista de contactos
Observatorio Astronsmico Ampimpa - Tucuman - Argentina
www.astrotuc.com.ar &amp;lt;http://www.astrotuc.com.ar&amp;gt;  -
institucional&amp;lt; at &amp;gt;astrotuc.com.ar &amp;lt;mailto:institucional&amp;lt; at &amp;gt;astrotuc.com.ar&amp;gt;


&lt;/pre&gt;</description>
    <dc:creator>institucional&lt; at &gt;astrotuc.com.ar</dc:creator>
    <dc:date>2012-05-24T09:21:09</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28840">
    <title>mg - searching a buffer stops</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28840</link>
    <description>&lt;pre&gt;Currently, in mg, if you search (C-s) for a string and that string is located
at the end of a buffer AND there is no new-line after it, your search will
halt. For example, if you copy the text below into a new buffer and remove any
new lines after the last 5, then search for 5. When you reach the last line,
any further C-s's you do will seem to be ignored.

12345
54321
12345

Similarly, if you search backwards (C-r) and look for any 1's your search will
stutter at the first character on line 1.

This diff fixes these problems by not ignoring the return values of forwchar
and backchar, both of which conveniently indicate if we have reached the
end/start of the buffer or not.

Comments/ok?

-lum

Index: search.c
===================================================================
RCS file: /cvs/src/usr.bin/mg/search.c,v
retrieving revision 1.39
diff -u -p -r1.39 search.c
--- search.c12 Apr 2012 04:47:59 -00001.39
+++ search.c24 May 2012 07:42:51 -0000
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -245,17 +245,21 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; isearch(int dir)
 ewprintf("Overwrapped I-search: %s", pat);
 break;
 }
-
 is_lpush();
 pptr = strlen(pat);
-(void)forwchar(FFRAND, 1);
-if (is_find(SRCH_FORW) != FALSE)
-is_cpush(SRCH_MARK);
-else {
-(void)backchar(FFRAND, 1);
-ttbeep();
-success = FALSE;
-ewprintf("Failed I-search: %s", pat);
+if (forwchar(FFRAND, 1) == FALSE) {
+                                ttbeep();
+                                success = FALSE;
+                                ewprintf("Failed I-search: %s", pat);
+} else {
+if (is_find(SRCH_FORW) != FALSE)
+is_cpush(SRCH_MARK);
+else {
+(void)backchar(FFRAND, 1);
+ttbeep();
+success = FALSE;
+ewprintf("Failed I-search: %s", pat);
+}
 }
 is_prompt(dir, pptr &amp;lt; 0, success);
 break;
&amp;lt; at &amp;gt;&amp;lt; at &amp;gt; -280,13 +284,17 &amp;lt; at &amp;gt;&amp;lt; at &amp;gt; isearch(int dir)
 }
 is_lpush();
 pptr = strlen(pat);
-(void)backchar(FFRAND, 1);
-if (is_find(SRCH_BACK) != FALSE)
-is_cpush(SRCH_MARK);
-else {
-(void)forwchar(FFRAND, 1);
-ttbeep();
-success = FALSE;
+                        if (backchar(FFRAND, 1) == FALSE) {
+                                ttbeep();
+                                success = FALSE;
+                        } else {
+if (is_find(SRCH_BACK) != FALSE)
+is_cpush(SRCH_MARK);
+else {
+(void)forwchar(FFRAND, 1);
+ttbeep();
+success = FALSE;
+}
 }
 is_prompt(dir, pptr &amp;lt; 0, success);
 break;


&lt;/pre&gt;</description>
    <dc:creator>Mark Lumsden</dc:creator>
    <dc:date>2012-05-24T07:49:55</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28839">
    <title>Çok Uygun fiyata ÇOK Özel İngilizce</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28839</link>
    <description>&lt;pre&gt;Merhaba

]ngilizceyi gok uygun fiyatlarda VZEL DERS alarak vprenmek igin benimle
ileti~ime geginiz.(Kampanyal} Ders Saati Fiyat}m}z 35 TL dir)

Sayg}lar}mla

Ceren GAKIR
KANADA K\LT\R MERKEZ]
0212 252 90 35 pbx


&lt;/pre&gt;</description>
    <dc:creator>Ceren ÇAKIR</dc:creator>
    <dc:date>2012-05-24T04:46:28</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.os.openbsd.tech/28838">
    <title>Re: Intel Atom E600 watchdog(4) support</title>
    <link>http://permalink.gmane.org/gmane.os.openbsd.tech/28838</link>
    <description>&lt;pre&gt;As a general policy drivers do not have numbers in their name,
so it will have to be renamed.

I'll have a look into trying it on a net6501 I have here with i386.

On Wed, May 23, 2012 at 04:52:03PM -0400, Matt Dainty wrote:


&lt;/pre&gt;</description>
    <dc:creator>Jonathan Gray</dc:creator>
    <dc:date>2012-05-24T05:23:16</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.os.openbsd.tech">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.os.openbsd.tech</link>
  </textinput>
</rdf:RDF>

