#include <uart.h>
#include <led.h>

__attribute__ ((noreturn)) void kentry (void);

static const char *text[] = {
  "hello, friend.\r\n",
  "hello, friend?\r\n",
  "that's lame.\r\n",
  "maybe i should give you a name.\r\n",
  "but that's a slippery slope.\r\n",
  "you're only in my head.\r\n",
  "we have to remember that.\r\n",
  "shit.\r\n",
  "it's actually happening, i'm talking to an imaginary person.\r\n\n"
};

void
kentry (void)
{
  unsigned int line;

  for (line = 0; line < sizeof text / sizeof *text; ++line)
    kputs_busytc (text[line]);

  /* Trigger a fault to test kernel panic  */
  asm ("udf #0");

  kputs_busytc ("Unreachable");

  while (1)
    asm ("wfi");
}
