linux-mips
[Top] [All Lists]

RE: swapon failure with au1550

To: <linux-mips@linux-mips.org>
Subject: RE: swapon failure with au1550
From: "Bob Breuer" <bbreuer@righthandtech.com>
Date: Tue, 22 Feb 2005 16:20:28 -0600
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
Thread-index: AcUZLLaERrIB9opzSlWlu0VPWdsF7g==
Thread-topic: swapon failure with au1550
The bitmask in a pte for swap type is 0x0000_1f00.  In the CPU_MIPS32 &&
64BIT_PHYS_ADDR case, _PAGE_FILE is 0x0000_0400.  Since _PAGE_FILE is
set in the maxed out swap type, it triggers a BUG().

If I move the swap type field like this:
  #define __swp_type(x)  (((x).val >> 2) & 0x0f)
then it works for me.  This makes use of the _PAGE_DIRTY and _CACHE_MASK
bits which were being used in the !64BIT_PHYS_ADDR case.

Is this a reasonable solution, or should a different grouping of bits be
used?

Bob Breuer

<Prev in Thread] Current Thread [Next in Thread>