Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Apr 2016 07:26:53 -0600
From:      Warner Losh <imp@bsdimp.com>
To:        Mori Hiroki <yamori813@yahoo.co.jp>
Cc:        Adrian Chadd <adrian.chadd@gmail.com>,  "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
Subject:   Re: most significant bit memory resource
Message-ID:  <CANCZdfoZdhu7YRMBAo-fQq-W9OJ_918wKicCwFLA9e84tA%2B68g@mail.gmail.com>
In-Reply-To: <807115.72196.qm@web101707.mail.ssk.yahoo.co.jp>
References:  <122264.6769.qm@web101720.mail.ssk.yahoo.co.jp> <CAJ-Vmok%2BJ3njCfmJ8e7hduDR9yo51=heD65Dnjy0nm8TK139RA@mail.gmail.com> <807115.72196.qm@web101707.mail.ssk.yahoo.co.jp>

next in thread | previous in thread | raw e-mail | index | archive | help
Looks like the right fix to get the proper promotion.

Warner

On Tue, Apr 26, 2016 at 1:19 AM, Mori Hiroki <yamori813@yahoo.co.jp> wrote:

> Hi
>
> I check this code work fine.
>
>
> https://github.com/yamori813/freebsd/commit/8ba7f92d2e120a23e415487521b067d2a5606906
>
>
> Regards.
>
> Hiroki Mori
>
> ----- Original Message -----
> > From: Adrian Chadd <adrian.chadd@gmail.com>
> > To: Mori Hiroki <yamori813@yahoo.co.jp>
> > Cc: "freebsd-mips@freebsd.org" <freebsd-mips@freebsd.org>
> > Date: 2016/4/26, Tue 05:22
> > Subject: Re: most significant bit memory resource
> >
> > Hi
> > ,
> > Can you just try typecasting maddr to (u_long) maddr in the call to
> > bus_set_resource() ? That should hopefully be an easy fix.
> >
> > Thanks,
> >
> >
> > -adrian
> >
> >
> > On 24 April 2016 at 16:38, Mori Hiroki <yamori813@yahoo.co.jp> wrote:
> >>  Hi.
> >>
> >>  Current mips/mips/nexus.c code can't use most significant bit memory
> > resource
> >>  device.
> >>
> >>  cfi0 at mem 0xffffffffbe000000-0xffffffffbfffffff on nexus0
> >>  nexus_alloc_resource: could not reserve resource for cfi0
> >>  device_attach: cfi0 attach returned 6
> >>
> >>  index 45e47ef..a5d52d7 100644
> >>
> >>  --- a/sys/mips/mips/nexus.c
> >>  +++ b/sys/mips/mips/nexus.c
> >>  @@ -566,7 +566,9 @@ nexus_hinted_child(device_t bus, const char
> *dname, int
> > duni
> >>  t)
> >>                      __func__, device_get_nameunit(child),
> >>                      (void *)(intptr_t)maddr, msize);
> >>
> >>  -               result = bus_set_resource(child, SYS_RES_MEMORY, 0,
> maddr,
> >>  +//             result = bus_set_resource(child, SYS_RES_MEMORY, 0,
> maddr,
> >>  +rman_res_t tmpaddr = (u_long)maddr;
> >>  +               result = bus_set_resource(child, SYS_RES_MEMORY, 0,
> > tmpaddr,
> >>                      msize);
> >>                  if (result != 0) {
> >>                          device_printf(bus,
> >>
> >>  cfi0 at mem 0xbe000000-0xbfffffff on nexus0
> >>  cfi0: [256x128KB]
> >>  cfid0 on cfi0
> >>
> >>  I check this problem then found my workaround at cfi_core.c. Thanks
> Adrian.
> >>
> >>  Regards
> >>
> >>  Hiroki Mori
> >>
> >>  _______________________________________________
> >>  freebsd-mips@freebsd.org mailing list
> >>  https://lists.freebsd.org/mailman/listinfo/freebsd-mips
> >>  To unsubscribe, send any mail to
> > "freebsd-mips-unsubscribe@freebsd.org"
> >
> _______________________________________________
> freebsd-mips@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe@freebsd.org"
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CANCZdfoZdhu7YRMBAo-fQq-W9OJ_918wKicCwFLA9e84tA%2B68g>