Changeset 253f35a1 in mainline for kernel/arch/sparc64/src


Ignore:
Timestamp:
2006-09-07T19:56:44Z (19 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
ab1ae2d9
Parents:
801579fe
Message:

sparc64 work.

  • Changes to enable userspace keyboard drivers.
  • Fix z8530 initialization (i.e. clear any pending Tx interrupts).
  • Experimental support for framebuffers with inverted colors.
Location:
kernel/arch/sparc64/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/sparc64/src/console.c

    r801579fe r253f35a1  
    9494}
    9595
     96/** Acquire console back for kernel
     97 *
     98 */
     99void arch_grab_console(void)
     100{
     101#ifdef CONFIG_Z8530
     102        z8530_grab();
     103#endif
     104}
     105
     106/** Return console to userspace
     107 *
     108 */
     109void arch_release_console(void)
     110{
     111#ifdef CONFIG_Z8530
     112        z8530_release();
     113#endif
     114}
    96115/** @}
    97116 */
  • kernel/arch/sparc64/src/drivers/fhc.c

    r801579fe r253f35a1  
    5858        fhc = (void *) hw_map(FHC_UART_ADDR, PAGE_SIZE);
    5959
    60         (void) fhc[FHC_UART_ICLR];
    6160        fhc[FHC_UART_ICLR] = 0;
    62         (void) fhc[FHC_UART_IMAP];
    63         fhc[FHC_UART_IMAP] = Z8530_INTRCV_DATA0;        /* hardcoded for Simics simulation */
    64         (void) fhc[FHC_UART_IMAP];
    65         fhc[FHC_UART_IMAP] = 0x80000000;                /* hardcoded for Simics simulation */
     61        fhc[FHC_UART_IMAP] = 0x80000000;
    6662}
    6763
    6864void fhc_uart_reset(void)
    6965{
    70         (void) fhc[FHC_UART_ICLR];
    7166        fhc[FHC_UART_ICLR] = 0;
    7267}
  • kernel/arch/sparc64/src/sparc64.c

    r801579fe r253f35a1  
    9494}
    9595
    96 /** Acquire console back for kernel
    97  *
    98  */
    99 void arch_grab_console(void)
    100 {
    101 }
    102 /** Return console to userspace
    103  *
    104  */
    105 void arch_release_console(void)
    106 {
    107 }
    108 
    10996/** Switch to userspace. */
    11097void userspace(uspace_arg_t *kernel_uarg)
  • kernel/arch/sparc64/src/trap/interrupt.c

    r801579fe r253f35a1  
    4343#include <arch/asm.h>
    4444#include <arch/barrier.h>
    45 
     45#include <print.h>
    4646#include <genarch/kbd/z8530.h>
    4747
     
    6262void irq_ipc_bind_arch(unative_t irq)
    6363{
    64         /* TODO */
     64#ifdef CONFIG_Z8530
     65        z8530_belongs_to_kernel = false;
     66#endif
    6567}
    6668
     
    8385                 * interrupt traps. Call the interrupt handler directly.
    8486                 */
     87
     88                if (z8530_belongs_to_kernel)
     89                        z8530_interrupt();
     90                else
     91                        ipc_irq_send_notif(0);
    8592                fhc_uart_reset();
    86                 z8530_interrupt();
    8793                break;
     94
    8895#endif
    8996        }
Note: See TracChangeset for help on using the changeset viewer.