Subject: Re: CVS commit: src/sys
To: None <thorpej@NetBSD.org, martin@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: source-changes
Date: 02/23/2007 00:15:28
martin@NetBSD.org wrote:

> On Wed, Feb 21, 2007 at 11:00:15PM +0000, Jason R Thorpe wrote:
> > 	    uvm_swap.h uvm_vnode.c
> > 
> > Log Message:
> > Replace the Mach-derived boolean_t type with the C99 bool type.  A
> > future commit will replace use of TRUE and FALSE with true and false.
> 
> This changes alignment of, for example, uvm.page_idle_zero and thereby
> breaks sparc64. Should alignment (and size) be restored for those, or
> the access fixed?

Unaligned address error also happens on mips:
---
scsibus0: waiting 2 seconds for devices to settle...
trap: address error (load or I-fetch) in kernel mode
status=0xff04, cause=0x30000010, epc=0x800010cc, vaddr=0x8025eb8d
curlwp == NULL ksp=0xc67e5da0
Stopped at      netbsd:mips_idle+0x20:  lw      t0,-5235(t0)
db>
---
where is:
---
	/* Try to zero some free pages. */
	lw      t0, _C_LABEL(uvm) + UVM_PAGE_IDLE_ZERO
---

Now offsetof(struct uvm, page_idle_zero) (== UVM_PAGE_IDLE_ZERO)
is 17 since sizeof(bool) is 1 on mips.
(we have to bump kernel version anyway?)
---
Izumi Tsutsui