lkml.org 
[lkml]   [2003]   [Nov]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: transmeta cpu code question
    Quoting Ben Collins <bcollins@debian.org>:

    > On Thu, Nov 20, 2003 at 03:02:18AM +0100, Nico Schottelius wrote:
    > > Hello!
    > >
    > > What does this do:
    > >
    > > printk(KERN_INFO "CPU: Processor revision %u.%u.%u.%u,
    > > %u MHz\n",
    > > (cpu_rev >> 24) & 0xff,
    > > (cpu_rev >> 16) & 0xff,
    > > (cpu_rev >> 8) & 0xff,
    > > cpu_rev & 0xff,
    > > cpu_freq);
    > >
    > > (from arch/i386/kernel/cpu/transmeta.c)
    > >
    > > Does not & 0xff make no sense? 0 & 1 makes 0, 1 & 1 makes 1,
    > > no changes.
    > >
    > > And I don't understand why we do this for 8bit and shifting the
    > > cpu_rev...
    >
    > You are a bit confused. The cpu_rev is a 4 byte value, each byte is a
    > decimal of the revision.
    >
    > And (0 & 1) makes 1, not 0. That's an AND, not an OR.

    Last I checked, 0 AND anything is 0. Think of it this way:

    A B A & B
    ------------
    T F F
    T T T
    F T F
    F F F

    So, anything ANDed with F is false.

    -sandalle

    --
    PGP Key Fingerprint: FCFF 26A1 BE21 08F4 BB91 FAED 1D7B 7D74 A8EF DD61
    http://search.keyserver.net:11371/pks/lookup?op=get&search=0xA8EFDD61

    -----BEGIN GEEK CODE BLOCK-----
    Version: 3.12
    GCS/E/IT$ d-- s++:+>: a-- C++(+++) BL++++VIS>$ P+(++) L+++ E-(---) W++ N+@ o?
    K? w++++>-- O M-@ V-- PS+(+++) PE(-) Y++(+) PGP++(+) t+() 5++ X(+) R+(++)
    tv(--)b++(+++) DI+@ D++(+++) G>+++ e>+++ h---(++) r++ y+
    ------END GEEK CODE BLOCK------

    Eric Sandall | Source Mage GNU/Linux Developer
    eric@sandall.us | http://www.sourcemage.org/
    http://eric.sandall.us/ | SysAdmin @ Inst. Shock Physics @ WSU
    http://counter.li.org/ #196285 | http://www.shock.wsu.edu/

    ----------------------------------------------------------------
    This message was sent using IMP, the Internet Messaging Program.
    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 13:58    [W:0.021 / U:0.336 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site