this patch is from kernel changes base on ppc