target-xtensa: add missing window check for entry

Entry opcode needs to check if moving to new register frame would cause
register window overflow. Entry used in function prologue never
overflows because preceding windowed call* opcode writes return address
to the target register window frame, causing overflow exceptions at the
point of call. But when a sequence of entry opcodes is used for register
window spilling there may not be a call or other opcode that would cause
window check between entries and they would not raise overflow exception
themselves resulting in data corruption.

Cc: qemu-stable@nongnu.org
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target-xtensa: add entry overflow test

Check that entry instruction raises window overflow exception when
PS.CALLINC points to live registers.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: target-xtensa: add GPIO32 coprocessor

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: hw/xtensa: add xtfpga SPI controller

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
WIP: hw/xtensa: add xtfpga I2S controller

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Merge branches 'xtensa', 'xtensa-cores', 'xtensa-fixes' and 'xtensa-fixes-2.2' into xtensa-staging
target-xtensa: record available window in TB flags

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
target-xtensa: don't generate dead code

Don't generate TCG operations when privilege, register window or
coprocessor checks fail.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>