OpenBSD Journal

[c2k8]:Hackathon Summary Part 10

Contributed by mtu on from the sensors-for-everyone dept.

c2k8 General Hackathon (Part 10) - June 7-15, 2008, Edmonton, Alberta, Canada

I would like to diverge a little from past articles and give a little background on how these stories evolve and eventually get published; a little behind the scenes perspective, if you will. The output of these stories has slowed since the c2k8 hackathon. At the rate I'm going, c2k9 will be just around the corner after I'm done.

constantine0257

Read on to get the scoop and more from the c2k8 developers:

img_0136
There's a lot involved when publishing an article besides writing it. I didn't realise how much work was involved until my partner in crime, Mike Erdely (merdely@), took a much needed vacation. At that point (Part 2) onwards, I was on my own and my workload literally doubled. I've been a fan of Mike for a long time and really happy that he is maintaining YAIFO. His website has got a lot of useful information on it. He was also really awesome to work with during the n2k8 series. I would just give him the articles and pictures and he would do his magic to publish them. Only now do I know that this magic was very time consuming. This is not the reason that Mike needed a vacation. Life was getting in the way of undeadly and he needed a little break. Not to worry, he'll be back but for the time being, I've got his HTML template that has helped me keep up the look and feel of a merdely published article.

Ryan McBride (mcbride@) noticed that I was slowing down a bit after Part 5 and asked how long it actually takes to publish an article, "an hour?". He asked in earnest but it made me realise that people don't know how much is actually involved in publishing an article. Ryan and I are pretty close so he only got a light Judo whippin'. Actually, it takes a few days to get everything just right, not including writing the actual article. I also have to sift through all the photos and do the flickr thing but other than that it's just me, my X40, vi, lots of coffee and a relaxing couch to hunker down in. Oh, and this is all done in my spare time.

When I think that I'm ready to put up an article, I log into Undeadly and submit a story. An automated email is then sent out to all the undeadly editors so that they are notified that an article has been posted for review. The editors are really thorough at finding the typos, grammar and syntax errors besides helping to improve the article and linkify man pages. English is not one of my strengths and so I'm extremely grateful for their help. Thanks Jason Dixon, Johan M:son Lindman, Paul 'WEiRD' de Weerd, Janne Johansson, Mike Erdely, Owain Ainsworth, Marco Peerboom and Ray Lai. Now back to some more c2k8 coverage.

constantine0064
Constantine A. Murenin (cnst@) has been doing a lot of work on sensors. He also gave a wonderful presentation at this year's BSDCan2008.

If you didn't know already, both David Gwynne (dlg@) and Marco Peerboom (marco@) have also done presentations on the subject. The sensors framework in OpenBSD is awesome! Think of all that sensor tools in OpenBSD: sysctl(3), systat(1), sensorsd(8), ntpd(8), and snmpd(8) besides remote monitoring tools. The number of supported drivers that hook into OpenBSD's sensors framework is really impressive.

Here is what Constantine had to say about his work and time at the c2k8 hackathon:

At c2k8, Theo suggested that I take a look into the ipmi(4), specifically, on why it appears to have started to conflict with acpi(4) on some machines. Not having any machines with IPMI at home, I ‘booked’ some of the server machines downstairs from the hackroom.

After enabling IPMI in all of the machines which I could lay my hands on, it just worked. But it exposed and reminded me of one expected behaviour that was new to 4.3, specifically, the delayed ipmi0 thread. It creates the ipmi0 sensors after the system goes multi-user, so that you don't have to wait in your console during the boot time until ipmi discovers all of its sensors (can take a minute or two on many machines). It was a delay that was very apparent during the boot time. Anyhow, our sensorsd lacked support for hotpluggable sensors, and these ipmi(4) sensors are in a sense hotpluggable, since they are not present when sensorsd is started from the rc(8) script.

So I've spent some time on adding an original hotplugging mechanism to sensorsd. In order to test some of the logic, for example, in the case where a sensor device disappears or is replaced by some other device, I asked mbalmer@ about his timedelta sensors, which are amongst the few unpluggable devices that have sensors on them. ckuethe@ lent me a receiver and mbalmer@ gave me a crash-course on ldattach(8), and after testing it out, the hotplugging functionality was committed. The only case which turned out not to have been tested is when sensorsd starts with no sensors available. Luckily, one of the sparc64 machines downstairs, which kettenis@ was using earlier, turned out to not have any sensors, and I've noticed a small bug in the new logic, which was quickly fixed. (Of course, testing the no-sensors scenario was also possible on those machines that do have sensors, by disabling them, but since most machines have so many sensors, disabling them may take a bit of time, and after all, testing in real-life conditions is always more fun than simulating such conditions.) By the way, you can still compile and run the new sensorsd on OpenBSD 4.1, since there were no changes to the underlying API since the introduction of the two-level addressing (although the ABI did change for 4.2).

After our IPMI specialist marco@ arrived, we've tried figuring out what might be the problem with ipmi on certain machines. I took some of marco's suggestions about the timing in the delay function, but it didn't appear to make much difference. The matter was complicated by not having ready access to those problematic machines, and the whole problem wasn't too clear either, so we've left it for some other time to figure it out.

As a summary, ipmi(4) is once again enabled, and now you can once again get sensorsd to automatically report on any state changes in ipmi(4) by automatically starting sensorsd from the system startup script, by specifying sensorsd_flags="" in /etc/rc.conf.local. Hotpluggable timedelta sensors are now fully supported by sensorsd, too, of course.

Constantine.

Gordon Willem Klok (gwk@) has been working on old Macs, AMD's powernow, amd64 and i386 setperf and ACPI. I don't have any old Macs but I do have him to thank for setperf and ACPI. Unfortunately, I didn't see Gordon that much at the hackathon. I think that he had another conference that he was committed too right in the middle of c2k8. As such, I only found two pictures of him throughout the event and sadly I didn't get an opportunity to talk with him.

Nevertheless, here is what Gordon had to say about his work and time at the c2k8 hackathon:

During c2k8 I chose to work on something that I had been meaning to do for a long time: allow the openbsd enhanced speed step driver to make use of ACPI.

The original speed step driver made use of values found in data sheets, however more than a few years ago Intel stopped publishing the values in the processors data sheets requiring the drivers to retrieve state information from ACPI. The problem is that the ACPI cannot directly support changing the core frequency of the processor using powernow or enhanced speedstep as ACPI has no notion of processor registers, only addresses in memory or I/O ports. Intel suggested a solution to the bios makers consisting of code running in SMM that mimics the original speedstep which the operating system used by writing to an I/O port on the south bridge, Intel solution was then to have the SMM code trap writes to this I/O port and then write the correct values into the registers the downside being that transitioning to SMM is very expensive compared to the speed of a native EST change.

Intel did however provide a way for ACPI aware operating system with a proper enhanced speedstep driver to make proper use of the speedstep settings by way of the _PDC object. You evaluate the _PDC object and declare what capabilities the operating system has to manage processor power management, then the code running in SMM (System Management Mode) disengages. The operating system can then evaluate the PSS tables which contain the frequencies the processor can scale to and the important part the value that we need to write in to the register to actually change the processor speed.

I wrote the code for setting the _PDC and altered the est driver to interface to the acpicpu code much like the powernow drivers do for AMD processors, however it did not work at first. canacar@ and I poked around examining the AML then jordan@ arrived, and I showed the problem to him and he quickly realized the problem was a missing opcode that OpenBSD's AML interpreter did not implement. Jordan created a patch to implement the missing opcode and then my code could do its thing, my x60 test machine could now find and use 4 states. I took another day or so to clean this proof of concept up into committable code for the amd64 port and finish a version that will work on i386 which I will soon be mailing to tech for the i386 architecture so please watch for it and test.

gwk

Thanks to Constantine and Gordon for their great work with IPMI, ACPI, sensors and the other tools that take advantage of them for our benefit.

(c2k8 hackathon summary to be continued)

(Comments are closed)


Comments
  1. By Seth (75.117.223.118) on

    s/has not notion/has no notion

    Comments
    1. By Anonymous Coward (129.97.84.231) on

      > s/has not notion/has no notion

      s/has no notion/haz not notion/

      Comments
      1. By Anonymous Coward (129.97.84.231) on

        > > s/has not notion/has no notion
        >
        > s/has no notion/haz not notion/

        well, I meant "can haz not". :)

  2. By Anonymous Coward (83.209.9.117) on

    Was the write-up from gwk@ done before or after http://marc.info/?l=openbsd-cvs&m=121801217417287&w=2

    Comments
    1. By Gordon Willem Klok (68.148.9.74) gwk@openbsd.org on

      > Was the write-up from gwk@ done before or after http://marc.info/?l=openbsd-cvs&m=121801217417287&w=2

      The write up was from before the release, I am hoping to give the patch another go soon but I am extremely busy at the moment.

  3. By Anonymous Coward (212.20.215.132) on

    Thanks again for taking the time writing this article. Very much appreciated.

  4. By Alan Watson (132.248.230.230) alan@alan-watson.org on http://www.alan-watson.org/

    You say that English is not one of your strengths, but I just wish I could write Spanish (my working language) as well as you write English.

  5. By Arach (87.103.146.206) on

    All this mess with the code in SMM just to support SpeedStep is another good reason for me not to buy Intel's hardware. And I didn't buy anything with "Intel inside" for about ten years. They want to dictate their stupid decisions to someone - fine. The someone is not me. AMD is not far better, but still is better.
    The strange thing here is the SMM *blob* functionality that OpenBSD makes use of. I didn't expect that.

    Comments
    1. By Anonymous Coward (208.124.37.81) on

      Wow the level of your ignorance is amazing. No clue eh about that whole SMM thing?

      Comments
      1. By Arach (87.103.146.206) on

        > Wow the level of your ignorance is amazing. No clue eh about that whole SMM thing?

        Do you really want to talk, or just want to call me ignorant? I know what SMM is. And another thing I know is that a blob [driver] code running in protected mode with ring0 privileges is pretty similar to a blob [speedstep driver] code running in system management mode.

        Both of the blob types has excess privileges to do anything undocumented with the already running protected mode code and connected devices. The speedstep blob seems to be invoked only once - maybe that's the key moment? So should OpenBSD (while in protected mode already) rely on another blobs that can be invoked only once? Personally, I don't think so. But that's unneeded rhetoric. I don't buy Intel's hardware and I can [try to :)] disable any opensource code that invokes SMM blobs on my machines.

        Comments
        1. By Igor Sobrado (2001:b18:401c:200:212:f0ff:fe24:cfe3) sobrado@ on

          > Both of the blob types has excess privileges to do anything undocumented with the already running protected mode code and connected devices. The speedstep blob seems to be invoked only once - maybe that's the key moment? So should OpenBSD (while in protected mode already) rely on another blobs that can be invoked only once? Personally, I don't think so. But that's unneeded rhetoric. I don't buy Intel's hardware and I can [try to :)] disable any opensource code that invokes SMM blobs on my machines.

          The System Management Mode (SMM) is not a binary blob but a processor operating mode, just like real or protected modes are. On the other hand the code running on SMM is not more "blob-like" than, we say, the firmware on any device. Should OpenBSD stop supporting any SMM ready processor? (i.e., any Intel-compatible processor starting at the 386) Should OpenBSD stop supporting anything whose firmware is not open too?

          Comments
          1. By Arach (87.103.146.206) on

            > The System Management Mode (SMM) is not a binary blob
            I didn't say that SMM is a binary blob.

            > but a processor operating mode, just like real or protected modes are.
            Precisely. *Processor* operating mode.

            > On the other hand the code running on SMM is not more "blob-like"
            > than, we say, the firmware on any device.
            But why? Firmware is running on some device, while SMM code is running on a CPU. Seems like a clean difference to me.

            > Should OpenBSD stop supporting any SMM ready processor? (i.e.,
            > any Intel-compatible processor starting at the 386) Should
            > OpenBSD stop supporting anything whose firmware is not open too?
            I don't get it. The SMM speedstep helper code is not a microprogram or any king of firmware, but the x86 code that preempts any code running on a CPU. Do you know any other "firmware" that can preempt the OS currently running on a CPU? I don't think so.
            Personally, I don't understand why you OpenBSD guys didn't try to call SMM helper and extract the PSS tables early during the boot process, before the kernel starts. But that's your decision.

            Comments
            1. By tedu (68.175.10.145) on


              > I don't get it. The SMM speedstep helper code is not a microprogram or any king of firmware, but the x86 code that preempts any code running on a CPU. Do you know any other "firmware" that can preempt the OS currently running on a CPU? I don't think so.

              Take a guess what DMA stands for.

              Comments
              1. By Anonymous Coward (87.103.146.206) on

                > Take a guess what DMA stands for.

                DMA has nothing to do with on-CPU code execution and preemption. Btw, there are IOMMUs these days available on some archs to prevent devices to read or write to RAM something they should not. OpenBSD don't use that IOMMU functionality (AFAIK nobody uses) - fine. That's is your decision, developers.
                But how can you a priori postulate reliability and security problems related to blob drivers *and* still allow limited use of *unreliable* blobs?

                Comments
                1. By tedu (68.175.10.145) on

                  > > Take a guess what DMA stands for.
                  >
                  > DMA has nothing to do with on-CPU code execution and preemption.

                  What's the difference? Really, what difference does it make in the end?

                  Comments
                  1. By Anonymous Coward (87.103.146.206) on

                    > > DMA has nothing to do with on-CPU code execution and preemption.
                    >
                    > What's the difference? Really, what difference does it make in the end?

                    The "big" difference is beyond the current OpenBSD achievements: DMA *can* be sanitized tomorrow (remember IOMMUs) while SMM blobs can't be sanitized at all, never. If you ask.
                    The "small" differences... There are many. But personally, I don't care. Improper DMA and SSM blobs are both dangerous, in different ways, but they are. I don't argue with that. When I refer to "on-CPU code execution and preemption", I mean: "You can sanitize DMA, it is pretty possible and relatively simple. But what you gonna do with freakin' privileged blob that preempts your code and running on your CPU? It's practically impossible."
                    But now, please, correct me if I'm wrong...
                    "Why worry about blobs, when DMA is as dangerous? We don't care to sanitize DMA, so let's use some blob... The not so harmful one. What's the difference? Really, what difference does it make it the end?" - do you mean something like that?
                    And what about all this "when you use a blob driver, you show the vendor you are ok with blobs" stuff? Don't you OpenBSD guys just show Intel you accept blobs?

                    Comments
                    1. By tedu (64.115.195.66) on

                      > > > DMA has nothing to do with on-CPU code execution and preemption.
                      > >
                      > > What's the difference? Really, what difference does it make in the end?
                      >
                      > The "big" difference is beyond the current OpenBSD achievements: DMA *can* be sanitized tomorrow (remember IOMMUs) while SMM blobs can't be sanitized at all, never. If you ask.
                      > The "small" differences... There are many. But personally, I don't care. Improper DMA and SSM blobs are both dangerous, in different ways, but they are. I don't argue with that. When I refer to "on-CPU code execution and preemption", I mean: "You can sanitize DMA, it is pretty possible and relatively simple. But what you gonna do with freakin' privileged blob that preempts your code and running on your CPU? It's practically impossible."
                      > But now, please, correct me if I'm wrong...

                      We don't yet use IOMMU on amd64, and the intel parts don't have it anyway. You could use sparc64, but only the old ones, if you're not into the whole hypervisor thing.

                      > "Why worry about blobs, when DMA is as dangerous? We don't care to sanitize DMA, so let's use some blob... The not so harmful one. What's the difference? Really, what difference does it make it the end?" - do you mean something like that?

                      More or less. If you think that the SMM is going to do something nefarious, you should recognize that there are dozens of other chips running on your system, each of which could do bad things. And really, how's an IOMMU going to save you? The IOMMU comes from the same vendor as the rest of the package.

                      > And what about all this "when you use a blob driver, you show the vendor you are ok with blobs" stuff? Don't you OpenBSD guys just show Intel you accept blobs?

                      As far as I'm concerned, if it came with the computer and lives in ROM, it's part of the hardware.

                      There are practical considerations to consider as well. The SMM code doesn't have to fit on an install floppy, doesn't have to be redistributed, never has API incompatibilies, and so on.

                      There's a huge difference between little bits of code that the kernel interfaces with to accomplish some task, and large blobs of code that do that task directly. If you're concerned about security, there's a difference of degree between the kernel asking speedstep to make a change and a userland process asking some video driver to draw a bitmap. The latter has a much more exposed attack surface.

                      Comments
                      1. By Arach (87.103.146.206) on

                        > More or less. If you think that the SMM is going to do something nefarious, you should recognize that there are dozens of other chips running on your system, each of which could do bad things.

                        Just for the record: to me, the SMM x86 blob seems more dangerous (error-prone) than any isolated firmware that runs strictly on it's own piece of hardware.

                        >And really, how's an IOMMU going to save you? The IOMMU comes from the same vendor as the rest of the package.

                        IOMMU can protect the RAM from improper DMA. For example, in case of poorly written code (driver/firmware) and/or broken device. *And* in cases of device [driver] being tricked from userland to do malicious DMA *as well*. So IOMMUs is pretty applicable to mitigate the impact of most of reliability and some of security issues. The world is not about malicious vendors only. :)

                        > As far as I'm concerned, if it came with the computer and lives in ROM, it's part of the hardware.
                        >
                        > There are practical considerations to consider as well. The SMM code doesn't have to fit on an install floppy, doesn't have to be redistributed, never has API incompatibilies, and so on.
                        >
                        > There's a huge difference between little bits of code that the kernel interfaces with to accomplish some task, and large blobs of code that do that task directly. If you're concerned about security, there's a difference of degree between the kernel asking speedstep to make a change and a userland process asking some video driver to draw a bitmap. The latter has a much more exposed attack surface.

                        Well, thanks for the clarification. It makes some sense to me.

        2. By Anonymous Coward (74.62.155.33) on

          > > Wow the level of your ignorance is amazing. No clue eh about that whole SMM thing?
          >
          > Do you really want to talk, or just want to call me ignorant? I know what SMM is. And another thing I know is that a blob [driver] code running in protected mode with ring0 privileges is pretty similar to a blob [speedstep driver] code running in system management mode.
          >
          > Both of the blob types has excess privileges to do anything undocumented with the already running protected mode code and connected devices. The speedstep blob seems to be invoked only once - maybe that's the key moment? So should OpenBSD (while in protected mode already) rely on another blobs that can be invoked only once? Personally, I don't think so. But that's unneeded rhetoric. I don't buy Intel's hardware and I can [try to :)] disable any opensource code that invokes SMM blobs on my machines.

          What a douche bag, do you realize how retarded you sound... do you actually believe AMD is unlike Intel in this regard?

          SMM is a mode, like protected mode, it can be used by anything, the fact that the BIOS firmware uses this for SMM services is unfortunate.. but highly unavoidable.

          Ever wondered how USB mice/keyboards work? SMM emulation of the PS/2 ports... ;)

          Do you also realize your BIOS firmware is most likely proprietary?

          Really, you need a reality check, go read the manuals made publicly available by Intel in both digital and hard copies.

          http://www.intel.com/design/literature.htm

          Comments
          1. By Arach (87.103.146.206) on

            > What a douche bag, do you realize how retarded you sound...

            Do you realize you may misinterpret me? And if you do, who's retarded then?

            > do you actually believe AMD is unlike Intel in this regard?

            In what "this regard"? Do you claim you understand my point?
            And yes, I actually believe AMD is unlike Intel in this particular case. AFAIK AMD don't hide their specs to force developers to use SMM for every silly speedstep or powernow thing. Read the article.

            > SMM is a mode, like protected mode, it can be used by anything, the fact that the BIOS firmware uses this for SMM services is unfortunate.. but highly unavoidable.

            Is it highly unavoidable to explicitly *request* SMM services such as speedstep helper during the OS run time? In fact, no, it is not.

            > Ever wondered how USB mice/keyboards work? SMM emulation of the PS/2 ports... ;)

            Oh, really? *Allways* SMM?
            Discover America to yourself:
            man ukbd
            man ums

            > Do you also realize your BIOS firmware is most likely proprietary?

            Do you also realize OS don't use BIOS routines while in PM and therefore don't use the blob code?

            > Really, you need a reality check, go read the manuals made publicly available by Intel in both digital and hard copies.

            I just made a reality check, and know what? In reality, when you want to understand people, you ask them about their point to make it clear first, and argue last. Also, when you want to offend people, being an ordinary troll, you don't ask but offend. Guess what reality check results told me about you?

    2. By Anonymous Coward (80.13.251.153) on

      1. Do you really thing AMD is different?
      2. Good luck running any machine made in the past ... 10 years without SMM blobs.
      3. Please be consistent and stop running the microcode blob on your CPU while you're at it. Your host bridges run blobs too, stop running them. Oh, your NIC contains a VHDL blob, please stop running it (it would make you stop posting, which would be a good thing).

      Comments
      1. By Arach (87.103.146.206) on

        > 1. Do you really thing AMD is different?
        Different? No. Better for me? Yes.

        > 3. Please be consistent and stop running the microcode blob on your CPU while you're at it.
        I can't, but I like the idea. ;)

        > Your host bridges run blobs too, stop running them.
        I can't. Pitty. ;)

        > Oh, your NIC contains a VHDL blob
        No it doesn't.

        > please stop running it
        Sorry, not today.

        > (it would make you stop posting, which would be a good thing).
        Stop posting, and I'll stop. Think I'm a troll? Don't feed the troll.

        Comments
        1. By Anonymous Coward (2001:470:8802:3:216:41ff:fe17:6933) on

          > > (it would make you stop posting, which would be a good thing).
          > Stop posting, and I'll stop. Think I'm a troll? Don't feed the troll.

          It is amazing how much of an idiot you are.

        2. By Mike Swanson (76.121.174.183) on

          > > 1. Do you really thing AMD is different?
          > Different? No. Better for me? Yes.

          If this isn't the definition of hypocrite, I don't know what is.

          Comments
          1. By Anonymous Coward (87.103.146.206) on

            > If this isn't the definition of hypocrite, I don't know what is.
            Really? Why?

            Comments
            1. By Mike Swanson (76.121.174.183) on

              > > If this isn't the definition of hypocrite, I don't know what is.
              > Really? Why?

              If you really need me to spell it out:
              1. You complain that Intel CPUs need a "blob" (the microcode) to function properly. You say that AMD CPUs are just fine and dandy.
              2. When confronted that AMD does *exactly the same*, it's okay with you, because it's not Intel.

              The first point alone is an interesting debate (the microcode being closed), but when you say it's not a problem with AMD doing exactly the same thing, well that's being a hypocrite, now isn't it?

              Comments
              1. By Arach (87.103.146.206) on

                > 1. You complain that Intel CPUs need a "blob" (the microcode) to function properly.
                Read carefully. It's not about the microcode.

                > You say that AMD CPUs are just fine and dandy.
                Not exactly. I said that AMD CPUs don't need SMM blobs to use powernow (AMD's speedstep analogue). And yes: they don't need. AMD didn't close any CPU specifications to require customers to use SMM blobs, but Intel did. Therefore AMD *behave* differently, and because of this difference their hardware is better for me.

                But are AMD *really* different? Do they really respect the customers' freedom, for example? I don't think so. The money is the only thing they really care about, I guess. Just like Intel.

                > 2. When confronted that AMD does *exactly the same*, it's okay with you, because it's not Intel.
                Exactly the same what? To close the microcode?
                1. I didn't say It's ok for me. But I don't care much about the microcode.
                2. I said AMD hardware is better for me. And "better" is not "ok". Read my first comment: "AMD is not far better, but still is better."


                > The first point alone is an interesting debate (the microcode being
                > closed), but when you say it's not a problem with AMD doing exactly
                > the same thing, well that's being a hypocrite, now isn't it?
                You're just missing my point. Re-read the article and my comments carefully, if you want.

  6. By Anonymous Coward (122.49.137.119) on

    Ok Arach, I understand the point you are trying to make. I think everyone would be in favour of minimising the amount of binary only code running on their machines, whether it be microcode, SSM code, firmware, or an FPGA/VLSI blob. And where do you draw the line...? its all blurry to me...

    So what are your proposals to improve the situation?

    You've mentioned IOMMU - got some code to back this up?

    Anything to improve things RE: SSM? (Beyond not supporting the hardware at all)

    Comments
    1. By Arach (87.103.146.206) on

      > Ok Arach, I understand the point you are trying to make.

      I don't think so. Read my first comment. There I said that:
      1. I don't like Intel and don't buy their hardware.
      2. AMD is somewhat better.
      3. The speedstep SMM blob usage was *strange* to me. (I didn't ask for anything.)

      1 and 2 was just IMHO. Ted has explained the OpenBSD developers' considerations about 3. The conversation actually is over.

      > I think everyone would be in favour of minimising the amount of binary only code running on their machines, whether it be microcode, SSM code, firmware, or an FPGA/VLSI blob. And where do you draw the line...? its all blurry to me...

      I draw the line right in front of CPU. Actually, OpenBSD developers (with some minor exceptions, as Ted explained) do the same: don't care about firmwares, but refuse blobs that would run on CPU.

      > So what are your proposals to improve the situation?

      Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.

      > You've mentioned IOMMU - got some code to back this up?

      No code, sorry. I'm not a kernel hacker.

      > Anything to improve things RE: SSM? (Beyond not supporting the hardware at all)

      In this particular case anyone can safely remove or disable speedstep-related code in the kernel sources, the price is obvious.

      Comments
      1. By Anonymous Coward (128.171.90.200) on

        > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.

        OpenBSD supports fifteen other architectures besides i386 and amd64.

        Comments
        1. By tedu (64.115.195.66) on

          > > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.
          >
          > OpenBSD supports fifteen other architectures besides i386 and amd64.

          But only 6 from this century, 2 in production, and one performance competitive.

          Comments
          1. By Anonymous Coward (128.171.90.200) on

            > But only 6 from this century, 2 in production, and one performance competitive.

            Sounds good to me.

          2. By Anonymous Coward (167.247.219.10) on

            > > > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.
            > >
            > > OpenBSD supports fifteen other architectures besides i386 and amd64.
            >
            > But only 6 from this century, 2 in production, and one performance competitive.

            mind mentioning what archs they are? :-)

            Comments
            1. By Anonymous Coward (128.171.90.200) on

              > > > > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.
              > > >
              > > > OpenBSD supports fifteen other architectures besides i386 and amd64.
              > >
              > > But only 6 from this century, 2 in production, and one performance competitive.
              >
              > mind mentioning what archs they are? :-)

              This is largely guesswork on my part, but I think the archs mentioned from this century are the Zaurus, Armish, MacPPC and Sparc64 ports, the two in production ... socppc and hppa64 .. maybe ?

              and the one performance competitive is probably Sparc64 given some of the clock rates and number of cpus supported, though if I remember correctly the MacPPC port supports the PPC970, though probably without SMP support.

              Comments
              1. By Anonymous Coward (2a01:348:108:100:20a:5eff:fe1a:a300) on

                > > > > > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.
                > > > >
                > > > > OpenBSD supports fifteen other architectures besides i386 and amd64.
                > > >
                > > > But only 6 from this century, 2 in production, and one performance competitive.
                > >
                > > mind mentioning what archs they are? :-)
                >
                > This is largely guesswork on my part, but I think the archs mentioned from this century are the Zaurus, Armish, MacPPC and Sparc64 ports, the two in production ... socppc and hppa64 .. maybe ?
                >
                > and the one performance competitive is probably Sparc64 given some of the clock rates and number of cpus supported, though if I remember correctly the MacPPC port supports the PPC970, though probably without SMP support.

                sparc64, armish and socppc are still in production, sparc64 is performance competitive.

                Comments
                1. By Anonymous Coward (202.57.89.34) on

                  > > > > > > Vote by your wallet: don't buy Intel hardware, buy AMD hardware instead. For me there's nothing to improve - no SMM blobs here.
                  > > > > >
                  > > > > > OpenBSD supports fifteen other architectures besides i386 and amd64.
                  > > > >
                  > > > > But only 6 from this century, 2 in production, and one performance competitive.
                  > > >
                  > > > mind mentioning what archs they are? :-)
                  > >
                  > > This is largely guesswork on my part, but I think the archs mentioned from this century are the Zaurus, Armish, MacPPC and Sparc64 ports, the two in production ... socppc and hppa64 .. maybe ?
                  > >
                  > > and the one performance competitive is probably Sparc64 given some of the clock rates and number of cpus supported, though if I remember correctly the MacPPC port supports the PPC970, though probably without SMP support.
                  >
                  > sparc64, armish and socppc are still in production, sparc64 is performance competitive.
                  >
                  >

                  where does the i386 come in?

                  Comments
                  1. By mcbride (210.138.60.53) on

                    > where does the i386 come in?

                    The whole discussion is revolving around architectures BESIDES i386 and amd64.

                    > > > > > > OpenBSD supports fifteen other architectures besides i386 and amd64.

                    So i386 (and amd64) is the baseline that the others are being compared against for "price competitiveness".



                    Comments
                    1. By mcbride (210.138.60.53) on

                      > "price competitiveness".

                      Duh, s/price/performance/

                      Comments
                      1. By Anonymous Coward (128.171.90.200) on

                        > > "price competitiveness".
                        >
                        > Duh, s/price/performance/

                        If only it was price competitive

                        Comments
                        1. By Janne Johansson (2001:6b0:5:1095:216:d3ff:fe30:150e) jj@inet6.se on .

                          > > > "price competitiveness".
                          > >
                          > > Duh, s/price/performance/
                          >
                          > If only it was price competitive

                          They are, just not at the same time as performance competitive. ;)

                          Comments
                          1. By Anonymous Coward (128.171.90.200) on

                            > > > > "price competitiveness".
                            > > >
                            > > > Duh, s/price/performance/
                            > >
                            > > If only it was price competitive
                            >
                            > They are, just not at the same time as performance competitive. ;)

                            My Ultra30 could probably compete with a Soekris net5501 on both price and performance, it cost me nothing.

                            Comments
                            1. By Anonymous Coward (129.97.84.231) on

                              > > > > > "price competitiveness".
                              > > > >
                              > > > > Duh, s/price/performance/
                              > > >
                              > > > If only it was price competitive
                              > >
                              > > They are, just not at the same time as performance competitive. ;)
                              >
                              > My Ultra30 could probably compete with a Soekris net5501 on both price and performance, it cost me nothing.

                              ANYTHING can compete with Soekris on BOTH price AND performance. :)

                              Comments
                              1. By Anonymous Coward (114.30.96.190) on

                                But that fails to take into account size, power consumption and suitability for a particular purpose, e.g. wireless repeater on a mast.

                                Comments
                                1. By Anonymous Coward (128.171.90.200) on

                                  > But that fails to take into account size, power consumption and suitability for a particular purpose, e.g. wireless repeater on a mast.

                                  It's noisy as hell, costs a bit more to run, and it is probably inadvisable to attach to a mast, but it's still a solid router and you cannot beat the price ( unless you are prepared to give me one. )

                  2. By sthen (2a01:348:108:100:20a:5eff:fe1a:a300) on

                    > > sparc64, armish and socppc are still in production, sparc64 is performance competitive.
                    >
                    > where does the i386 come in?

                    the question was "besides i386 and amd64". but disregarding that, it's still in production, but not really performance competitive (compared with amd64 capable hardware).

Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]