Not compiling cleanly against -stable I guess there have been extra
definitions elsewhere.

ET -DALTQ -DINET6 -DIPSEC -DPPP_BSDCOMP -DPPP_DEFLATE -DMROUTING -DMPLS
-DBOOT_CONFIG -DSUN4US -DSUN4V -DPCIVERBOSE -DUSER_PCICONF -DAPERTURE
-DUSBVERBOSE -DWSEMUL_SUN -DWSEMUL_NO_VT100 -DWSEMUL_DUMB
-DWSDISPLAY_COMPAT_RAWKBD -DONEWIREVERBOSE -DMAXUSERS=64 -D_KERNEL  -c
../../../../dev/pci/if_em.c
../../../../dev/pci/if_em.c:131: error: 'PCI_PRODUCT_INTEL_82579LM'
undeclared here (not in a function)
../../../../dev/pci/if_em.c:132: error: 'PCI_PRODUCT_INTEL_82579V'
undeclared here (not in a function)
../../../../dev/pci/if_em.c: In function 'em_attach':
../../../../dev/pci/if_em.c:397: error: 'em_82580' undeclared (first use in
this function)
../../../../dev/pci/if_em.c:397: error: (Each undeclared identifier is
reported only once
../../../../dev/pci/if_em.c:397: error: for each function it appears in.)
../../../../dev/pci/if_em.c: In function 'em_init':
../../../../dev/pci/if_em.c:742: error: 'em_82580' undeclared (first use in
this function)
../../../../dev/pci/if_em.c:761: error: 'em_pch2lan' undeclared (first use
in this function)
../../../../dev/pci/if_em.c: In function 'em_update_link_status':
../../../../dev/pci/if_em.c:1442: error: 'em_82580' undeclared (first use in
this function)
cc1: warnings being treated as errors
../../../../dev/pci/if_em.c:1442: warning: comparison between pointer and
integer
../../../../dev/pci/if_em.c: In function 'em_allocate_pci_resources':
../../../../dev/pci/if_em.c:1603: error: 'em_pch2lan' undeclared (first use
in this function)
../../../../dev/pci/if_em.c:1603: warning: comparison between pointer and
integer
../../../../dev/pci/if_em.c: In function 'em_hardware_init':
../../../../dev/pci/if_em.c:1733: error: 'em_82580' undeclared (first use in
this function)
../../../../dev/pci/if_em.c:1733: warning: comparison between pointer and
integer
*** Error code 1

Stop in /usr/src/sys/arch/sparc64/compile/GENERIC (line 92 of /usr/share/mk/
sys.mk).



On 2 June 2011 00:57, Joel Wiramu Pauling <[email protected]> wrote:

> Hrm does not apply cleanly - Maybe I should just grab the CVS of if_em.c ?
>
>
> bash-4.1# patch -i if_em.c.patch
> Hmm...  Looks like a unified diff to me...
> The text leading up to this was:
> --------------------------
>
> |Index: if_em.c
> |===================================================================
> |RCS file: /cvs/src/sys/dev/pci/if_em.c,v
> |retrieving revision 1.256
> |diff -u -p -r1.256 if_em.c
> |--- if_em.c     22 Apr 2011 10:09:57 -0000      1.256
> |+++ if_em.c     1 Jun 2011 09:40:53 -0000
> --------------------------
> Patching file if_em.c using Plan A...
> Hunk #1 failed at 3014.
> Hunk #2 failed at 3053.
> 2 out of 2 hunks failed--saving rejects to if_em.c.rej
> done
> bash-4.1# cat if_em.c.rej
> @@ -3014,26 +3014,38 @@
>
>  em_write_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t *value)
>  {
>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
> -       pci_chipset_tag_t pc = pa->pa_pc;
> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
> -       pci_conf_write(pc, pa->pa_tag, reg, *value);
> +       pcireg_t val;
> +
> +       val = pci_conf_read(pa->pa_pc, pa->pa_tag, reg & ~0x3);
> +       if (reg & 0x2) {
> +               val &= 0x0000ffff;
> +               val |= (*value << 16);
> +       } else {
> +               val &= 0xffff0000;
> +               val |= *value;
> +       }
> +       pci_conf_write(pa->pa_pc, pa->pa_tag, reg & ~0x3, val);
>  }
>
>  void
>  em_read_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t *value)
>  {
>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
> -       pci_chipset_tag_t pc = pa->pa_pc;
> -       *value = pci_conf_read(pc, pa->pa_tag, reg);
> +       pcireg_t val;
> +
> +       val = pci_conf_read(pa->pa_pc, pa->pa_tag, reg & ~0x3);
> +       if (reg & 0x2)
> +               *value = (val >> 16) & 0xffff;
> +       else
> +               *value = val & 0xffff;
>  }
>
>  void
>  em_pci_set_mwi(struct em_hw *hw)
>  {
>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
> -       pci_chipset_tag_t pc = pa->pa_pc;
> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
> -       pci_conf_write(pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
> +
> +       pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>                (hw->pci_cmd_word | CMD_MEM_WRT_INVALIDATE));
>  }
>
> @@ -3041,9 +3053,8 @@
>  em_pci_clear_mwi(struct em_hw *hw)
>  {
>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
> -       pci_chipset_tag_t pc = pa->pa_pc;
> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
> -       pci_conf_write(pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
> +
> +       pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>                (hw->pci_cmd_word & ~CMD_MEM_WRT_INVALIDATE));
>  }
>
> On 1 June 2011 21:41, Mark Kettenis <[email protected]> wrote:
>
>> Can you try the diff below?
>>
>> Index: if_em.c
>> ===================================================================
>> RCS file: /cvs/src/sys/dev/pci/if_em.c,v
>> retrieving revision 1.256
>> diff -u -p -r1.256 if_em.c
>> --- if_em.c     22 Apr 2011 10:09:57 -0000      1.256
>> +++ if_em.c     1 Jun 2011 09:40:53 -0000
>> @@ -3014,26 +3014,38 @@ void
>>  em_write_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t *value)
>>  {
>>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
>> -       pci_chipset_tag_t pc = pa->pa_pc;
>> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
>> -       pci_conf_write(pc, pa->pa_tag, reg, *value);
>> +       pcireg_t val;
>> +
>> +       val = pci_conf_read(pa->pa_pc, pa->pa_tag, reg & ~0x3);
>> +       if (reg & 0x2) {
>> +               val &= 0x0000ffff;
>> +               val |= (*value << 16);
>> +       } else {
>> +               val &= 0xffff0000;
>> +               val |= *value;
>> +       }
>> +       pci_conf_write(pa->pa_pc, pa->pa_tag, reg & ~0x3, val);
>>  }
>>
>>  void
>>  em_read_pci_cfg(struct em_hw *hw, uint32_t reg, uint16_t *value)
>>  {
>>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
>> -       pci_chipset_tag_t pc = pa->pa_pc;
>> -       *value = pci_conf_read(pc, pa->pa_tag, reg);
>> +       pcireg_t val;
>> +
>> +       val = pci_conf_read(pa->pa_pc, pa->pa_tag, reg & ~0x3);
>> +       if (reg & 0x2)
>> +               *value = (val >> 16) & 0xffff;
>> +       else
>> +               *value = val & 0xffff;
>>  }
>>
>>  void
>>  em_pci_set_mwi(struct em_hw *hw)
>>  {
>>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
>> -       pci_chipset_tag_t pc = pa->pa_pc;
>> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
>> -       pci_conf_write(pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>> +
>> +       pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>>                (hw->pci_cmd_word | CMD_MEM_WRT_INVALIDATE));
>>  }
>>
>> @@ -3041,9 +3053,8 @@ void
>>  em_pci_clear_mwi(struct em_hw *hw)
>>  {
>>        struct pci_attach_args *pa = &((struct em_osdep *)hw->back)->em_pa;
>> -       pci_chipset_tag_t pc = pa->pa_pc;
>> -       /* Should we do read/mask/write...?  16 vs 32 bit!!! */
>> -       pci_conf_write(pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>> +
>> +       pci_conf_write(pa->pa_pc, pa->pa_tag, PCI_COMMAND_STATUS_REG,
>>                (hw->pci_cmd_word & ~CMD_MEM_WRT_INVALIDATE));
>>  }

Reply via email to