pccbb pccard rman - Something is very wrong somewhere
M. Warner Losh
imp at bsdimp.com
Tue Apr 6 10:05:23 PDT 2004
In message: <200404061255150877.0875F2E3 at 192.168.128.16>
"Carlos Velasco" <freebsd at newipnet.com> writes:
: Hello,
:
: Investigating this problem, I have discovered two issues.
:
: One minor bug (off-by-1) in subr_rman.c:
:
: diff -ur sys/kern/subr_rman.c sysnew/kern/subr_rman.c
: --- sys/kern/subr_rman.c Wed Jun 11 00:56:57 2003
: +++ sysnew/kern/subr_rman.c Tue Apr 6 11:41:23 2004
: @@ -234,7 +234,7 @@
: rstart += bound - (rstart & ~bmask);
: } while ((rstart & amask) != 0 && rstart < end &&
: rstart < s->r_end);
: - rend = ulmin(s->r_end, ulmax(rstart + count, end));
: + rend = ulmin(s->r_end, ulmax(rstart + count - 1, end));
: if (rstart > rend) {
: DPRINTF(("adjusted start exceeds end\n"));
: continue;
This looks correct. It surprises me that it is there...
: And the real problem, an alignment issue that prevents pccard to work:
This is almost the real problem.
: diff -ur sys/dev/pccbb/pccbbreg.h sysnew/dev/pccbb/pccbbreg.h
: --- sys/dev/pccbb/pccbbreg.h Sat Aug 9 20:49:22 2003
: +++ sysnew/dev/pccbb/pccbbreg.h Tue Apr 6 11:40:13 2004
: @@ -74,8 +74,8 @@
: #define CBBR_IOLIMIT0 0x30 /* len=4 */
: #define CBBR_IOBASE1 0x34 /* len=4 */
: #define CBBR_IOLIMIT1 0x38 /* len=4 */
: -#define CBB_MEMALIGN 4096
: -#define CBB_MEMALIGN_BITS 12
: +#define CBB_MEMALIGN 65536
: +#define CBB_MEMALIGN_BITS 16
: #define CBB_IOALIGN 4
: #define CBB_IOALIGN_BITS 2
this is bogus.
: We are aligning to 0x1000 (4096) and we should align to, at least, 0x10000
: (65536).
: This solves the problem.
This is a problem.
: Can anyone review these patches and commit them if they are right?
This isn't right.
However, I'll generate a fix from my p4 tree. I'm having big problems
with the new acpi code on my laptop in my p4 tree :-(.
Warner
More information about the freebsd-mobile
mailing list