From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: <2dce475f96630e9cf6e633e2f74a2ffc@coraid.com> Date: Thu, 17 Nov 2011 08:13:21 -0800 Message-ID: Subject: Re: [9fans] 6a bug From: Charles Forsyth To: Russ Cox Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: text/plain; charset=UTF-8 Topicbox-Message-UUID: 412b9f6e-ead7-11e9-9d60-3106f5b1d025 I'd replied, but "Reply"'s default is never right (either way). It's as you say, and the reason it worked in the kernel is that KZERO was a different value, which did satisfy the hardware's constraint. On some of the older RISC machines, the loader might generate impossible constants into a register itself, but that relied on defining a global REGTMP, which was fine on a 32-ish register machine (you hardly ever need that many) but not so good on the amd64 where the original registers are strange and in short supply, and the new registers have a penalty, and there are only 16 in all.