writei: workaround for sdcc
authorAlan Cox <alan@linux.intel.com>
Sat, 10 Feb 2018 00:09:13 +0000 (00:09 +0000)
committerAlan Cox <alan@linux.intel.com>
Sat, 10 Feb 2018 00:09:13 +0000 (00:09 +0000)
commit7dc4c028148a5175a10ceb003bc36edf6ecd1bda
tree0eea8946c36ebc940892e96cbd7b90ac0b00d306
parentdbb192b76544dfc00d38c047033b668eb43a65cd
writei: workaround for sdcc

sdcc at least isn't bright enough to turn

static uint32 x

if (x >> 25)

into a byte load of x + 3 followed by an &0xFE

Instead it generates a 25 repeat bitshift of a 32bit value across four
registers in a fairly critical code path.

Allow defines to help it out with its dumbness.
Kernel/cpu-z80/cpu.h
Kernel/include/kernel.h
Kernel/inode.c