[9fans] The late upamalloc - Plan9

This is a discussion on [9fans] The late upamalloc - Plan9 ; Okay, I've been taking a crack at the broadcom driver that's been lying around. It's pretty old and used the upamalloc call. But upamalloc is now gone and I don't seem to be able to find the right way to ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: [9fans] The late upamalloc

  1. [9fans] The late upamalloc

    Okay, I've been taking a crack at the broadcom driver
    that's been lying around. It's pretty old and used
    the upamalloc call. But upamalloc is now gone and
    I don't seem to be able to find the right way to
    replace it. After looking at other drivers and at
    the old upamalloc code on sourcesdump, I've tried
    several way to replace it, but most end up in a panic.
    The original code (edited to the relevant lines)
    looked like:

    port = upamalloc(bar & ~0x0F, p->mem[0].size, 0);
    ctlr->port = port;
    ctlr->nic = KADDR(ctlr->port);

    My most recent attempt replaced the upamalloc call
    with:

    upareserve(bar & ~0x0F, p->mem[0].size);
    pdbmap(MACH(0)->pdb, bar & ~0x0F, 0, p->mem[0].size);
    port = bar & ~0x0F;

    There is currently a upaalloc call, and the comment
    to it seems to imply that vmap should be used either
    in conjunction with upaalloc or by it self. I've
    tried a few permutations of that with no luck.

    If someone knows off the top of their head the right
    way to replace an old upamalloc call, it would save
    me some time, and I could get on to seeing if I can
    manage to get the controller to work.

    Thanks in advance,
    BLS


  2. Re: [9fans] The late upamalloc

    uh, cut-n-paste error... that should be

    ctlr->nic = vmap(p->mem[0].bar & ~0xf, p->mem[0].size);
    ctlr->port = PCIWADDR(ctlr->nic);

    - erik


  3. Re: [9fans] The late upamalloc

    If you are working on the driver in my contrib dir, there are probably
    newer versions of it somewhere, but don't ask me where you could find
    them or who might have them, I don't even remember where I got that
    one from.

    As far as I know some of the broadcom work was done together with the
    amd64 port, so good luck getting hold of that, hahaha.

    Pace

    uriel

    On Sat, Sep 27, 2008 at 5:43 PM, Brian L. Stuart wrote:
    > Okay, I've been taking a crack at the broadcom driver
    > that's been lying around. It's pretty old and used
    > the upamalloc call. But upamalloc is now gone and
    > I don't seem to be able to find the right way to
    > replace it. After looking at other drivers and at
    > the old upamalloc code on sourcesdump, I've tried
    > several way to replace it, but most end up in a panic.
    > The original code (edited to the relevant lines)
    > looked like:
    >
    > port = upamalloc(bar & ~0x0F, p->mem[0].size, 0);
    > ctlr->port = port;
    > ctlr->nic = KADDR(ctlr->port);
    >
    > My most recent attempt replaced the upamalloc call
    > with:
    >
    > upareserve(bar & ~0x0F, p->mem[0].size);
    > pdbmap(MACH(0)->pdb, bar & ~0x0F, 0, p->mem[0].size);
    > port = bar & ~0x0F;
    >
    > There is currently a upaalloc call, and the comment
    > to it seems to imply that vmap should be used either
    > in conjunction with upaalloc or by it self. I've
    > tried a few permutations of that with no luck.
    >
    > If someone knows off the top of their head the right
    > way to replace an old upamalloc call, it would save
    > me some time, and I could get on to seeing if I can
    > manage to get the controller to work.
    >
    > Thanks in advance,
    > BLS
    >
    >



  4. Re: [9fans] The late upamalloc

    > If you are working on the driver in my contrib dir, there are probably
    > newer versions of it somewhere, but don't ask me where you could find
    > them or who might have them, I don't even remember where I got that
    > one from.


    I think that's the one I started with.

    > As far as I know some of the broadcom work was done together with the
    > amd64 port, so good luck getting hold of that, hahaha.


    Jim sent me one that's a little farther along, but not a lot
    farther. It did get me to the point where I can initialize
    the controller. But I've still got a ways to go on getting
    it to actually communicate.

    Thanks,
    BLS



+ Reply to Thread