Porting Netbsd to the Sun4m/Sparcstation-20: Issues & Status

Porting Netbsd to the Sun4m/Sparcstation-20: Issues & Status

Porting NetBSD to the Sun4m/SPARCstation-20: Issues & Status V E R I T A S Aaron B. Brown Harvard University [email protected] Why are we porting NetBSD? To provide a modern, high-performance home for BSD research To provide Margo Seltzer with a high- performance testbed for filesystem work To learn about the architecture of the Sun4m so we can do a VINO port NetBSD 2 of 17 Where are we today? Kernel boots Work to C level Cross-compiler SS20’s Starts NetBSD up SS10’s on SS1 installed developed arrive 6/21 7/21 7/25 8/3 8/9 6/12 Kernel VM Network Kernel banner initializes boot goes Drivers single-user multiuser done 8/11 8/14 WE ARE HERE NetBSD 3 of 17 What is NetBSD? Heritage 386BSD 4.4-Lite2 BSD Maintenance & Development Volunteer effort with corporate support Master source repository Core group Releases: 1.0 and -current Architecture Monolithic kernel Structured for portability Existing Sun4c port Generic Kernels NetBSD 4 of 17 Sun4c vs. Sun4m What’s Changed? CPU (ILU) MMU Sun4m support DVMA } complete Interrupts Device Support } Work in progress FPU Not yet started Multiprocessing } NetBSD 5 of 17 The Sun4m MMU SPARC v8 Reference MMU Architectural similarities to old Sun MMU contexts paged memory single-word translations/page table entries Significant architectural differences Software vs. hardware translation tables protection model and bit definitions Other differences trap & fault registers TLB cache models NetBSD 6 of 17 SRMMU Page Translation NetBSD 7 of 17 The Kernel View Of The SRMMU NetBSD 8 of 17 DVMA and I/O Can be mapped by IOMMU DMA vs. DVMA va<31:24>: 0xff PROM IOMMU 0xfe Device Mappings 0xfd DVMA Region Kernel I/O locations 0xfc Mapping buffers for DMA 0xf8 KERNEL Coherency issues I/O-Cache (?) 0x00 USER SPACE NetBSD 9 of 17 Interrupts and I/O New interrupt control registers (ICRs) mask and generate interrupts one SYSTEM register set: hardware interrupts many PROCESSOR register sets: software interrupts and inter-CPU signalling Few advantages to single-CPU kernel Future advantages atomic mask updates per-processor soft interrupts inter-processor communication via L15 soft interrupt NetBSD 10 of 17 Devices 36-bit physical addressing or, “dirty little implementation secrets” Devices fall into two main categories On-Board I/O (OBIO) simple, mappable, no DVMA SBus-attached complex heavy use of DVMA and the IOMMU strict timing constraints NetBSD 11 of 17 OBIO Devices & Driver Status + counters: working in single-CPU mode + serial ports, keyboard, mouse (zs): working + power: working + auxio: working – fd: not working (no drive) – eccmemctl: not working (no clue how it works) framebuffers: + bwtwo, cgthree, cgsix: working – cgeight, cgfourteen (SX): not working (no docs) NetBSD 12 of 17 SBus Devices & Driver Status ~ Ethernet (ledma): almost there – SCSI (espdma): not working – Parallel port (bpp): not working – Audio (DBRIe): not working NetBSD 13 of 17 FPU Support Not an immediate kernel issue Pipelined FPU => complicated trap processing Mfr. support (source or object) often needed in research group ports NetBSD 14 of 17 Multiprocessing Directly supported in Sun4m architecture Problems for NetBSD support non-threaded, multiprocessor-unsafe kernel no existing MP-safe locking primitives Currently low priority working single-CPU kernel comes first NetBSD 15 of 17 Bootlog NetBSD 16 of 17 Conclusion Future looks good Single-user kernel soon Multi-user to follow quickly NetBSD 17 of 17.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us