| 9atom |
| |
| 9atom
(amd64 usb image,
386 iso)
augments the plan 9
distribution with the addition of a 386 PAE kernel, an amd64
cpu and terminal kernel, nupas, extra
pc hardware support, IL and Ken's fs.
|
| |
| Todo and Errata. |
| Kernel source |
| 9atom man pages |
| |
What's new? 2013-04-30
- ape passwd(2); fix backspace and ^u processing; fix limits
- aan(8): fix amd64 padding, and marshal header
- nix: clean up 32-bit mask issues
- vblade(8): add mask command support
- dhcpd(8): removing timing information
- factotum(4): remove babble
- 8c(1): -W means stop on warning; remove sextern.
- cfs(4): fix crash on access of cfsctl due to access of bogus memory
- exifsrv(4): new program from steve simon. parses metadata from jpg images. (missing man page)
- pc kernels: scheduling fix m is always MACHADDR it needs MACHP(m->machno)
- ssh2(1): process ignore messages properly
- venti-conn(2): note $venti environment variable
- pcipl(8): automaticly set ether0 based on pxe configuration; automaticly set drive0 to reflect bios boot drive
- etherm10g: fix m10g marshalling for 64 bit
- /sys/src/9: fix leak in devloopback, devpipe, channel paths
- ssh2(1): sync with development source
- nix, 9 kernels: fix ESEG overlap by putting ESEG above the normal stack
- /sys/src/9: introduce fmtP to all architectures
- pcc(1): corrections to manual page
- x509: bad ptr arithmetic
- devaoe(3):
- the config string was grabbed Aoehsz too far into the packet due to using the wrong pointer to start.
- never accept a response with tag Tmgmt or Tfree.
- defend against "malicious" responses; ones with a response Aoehdr.type != request Aoehdr.type. this previously could cause the initiator to crash.
- vendor commands were improperly filtered out.
- vblade(8): avoid extra copy
- acid(1): check the return value of malloc
- P(1): allow apc to be hooked through consoledb
- libmach: 64-bit elf support; support u-boot for arm
- 9 ppc kernel: fix elf kernel link
- 9: move $arch/random.c to port
- 9: move fpi routines to port
- fortune(1): new fortunes
- sdaoe(3): drop sdscsi dependency
- 9: add sdscsifis, sdatafis; generic ata and scsi routines with tler
- 9 kirkwood kernel: add sdkw
- nix: update sdide to fix pio busy detection, discover before first access
- consoleof(8): consoleof, consoledbof: new commands (no man page yet)
- nix: restrict segattach to below USEGTOP
- nix, 9: qio stats in #c/debug
- pcc(1): modern compiler character set; -W flag; -f flag for 5l; -x flag; note -+ is the default in manual page.
- ape/bsd: revamp socket support to provide ip6 support, and modern name lookup support via getaddrinfo, etc.
- ape/bsd: fix warnings and turn on warning flags
- ape/stdio: fix thread safety issues
- ape/malloc: fix thread safety issues
- ape/unlink: fix unused variable issues
- ape/_notehandler: fix inconsistent declaration
- ape/_buf: fix don't declare variables you don't use, and don't cast pointers to integers. still need to fix the signature of _RENDEZVOUS to be void* (*)(void*,void*). let segattach pick its own address rather than guessing what might be a free and valid address.
- ip(2): fix overflow with mixed ip6/ip4 notation. e.g. 1:2:3:4:5:6:7:1.2.3.4
- fossil(4): sync with sources
- lib9p: do not override client-set msize
- acme win: do not buffer overflow
- gethostbyname: declare gethostbyname, and use size_t as required by standard
- nix: use cheep scheduler hack (idlehands sleeps if not processor 0) to improve tcp performance 50% on some machines
- dhcpd(8): sync with sources
- sftpfs(4): manual page: remove documentation for openssh option.
- devmouse(3): nix: incorrect tests for bad messages
- nix, plan 9: sw cursor redraw in proc context
- nix, plan 9: fix blanking. screen activity is registered if the cusor has moved or the buttons have changed, not when the cursor is redrawn.
- raspberry pi kernel: ethernet update
- pci(8): replace with c version with support for pci capabilities. opci(8) is the rc-based script
- 9 initcode: remove warning
- nix, plan 9: edf.h references move to port
- nix lockstats: fix crash, and include lockstats in default build
- imgloop(1): fix resize fail
- plot(1): allow resize, hiding, etc.
- getsrvbyaddr(): byte order
- pcipl: add panic verb
- nix, plan 9: ether8169: more mac types
- auth_chuid: better error message when cap is empty
- nfs(4): fix warnings
- ipso(1) flush/load factotum keys only if 'factotum' secstore file was indeed in edit list.
- html2ms(1): ignore span html tag
- 9load(8): recognize all intel ide
- nix: allowances for mixed page sizes when faulting
- nix: audio: allow the bitrate & channels to be manipulated
- snoopy(8): aoe tag filtering
- libmach: fix types in symbol(2) mach(2) debugger(2)object(2)
- ctime(2): handle negative times!? change from sources
- bio(2): clean up rune handling
- dict(7): update man page
- mach(2): include libc.h, and fixup v object
- sort(1): update man page to match reality
- frexp: sync style with sources
- 9load: ide tweek for mac
- yacc(1): increase size for yytokenname; correct man page. yydebug is automaticly set.
- telnetd(8): add -c argument to start arbitrary programs and not just rc.
- pcipl(8): pbs: fix wrong boot file name and size, rename mbr and pbs
- mkfsconf(8): fix 32-bit dependencies
- ndb(8): dns dump too slow
- mkcpuconf(8): new program
- nix, plan 9: boot using nsb disk
- paqfs(8): manual page: correct maximum block size
|
| older changes |
| Some in production motherboards, sockets and chipsets |
Intel Atom
- Supermicro X7SLA-H (Atom 330; 940GC) PAE/Nix
- Supermicro X7SPA-H (Atom d510; NM10) PAE/Nix
- Supermicro X7SPE-H (Atom d510; NM10) PAE/Nix
- Supermicro X7SPA-HF-D525 (Atom d525; NM10) PAE/Nix
|
AMD
- Elitegroup IC890GMX-A (socket AM3; SB890) PAE/Nix
- Foxconn A7VMX-K (socket AM2+; SB680); retired
- Gigabyte K9AGNeo2 (socket AM2; SB680); retired
|
Intel
- Intel S5520HCT (socket 1366; 5520)
- Supermicro X9SCL (socket 1155; C200) Nix
- Supermicro X9SCM (socket 1155; C204) PAE/Nix
- Supermicro X8STE (socket 1366; X58) PAE
- Supermicro X8SIL (socket 1156; 3400) PAE
- Supermicro X8DTU (socket 1366; Core i7) Nix
- Supermicro X9DRW (socket lga2011; E5-2640 x 2) Nix
- Supermicro X7DVL* (socket 775; intel 5000v); retired
|
Marvell ARM
- Globalscale OpenRD (Marvell 88f6281)
- Globalscale SheevaPlug (Marvell 88f6281)
|
| Other ARM
|
Selected additional hardware
- 1 port gbe: D-Link DGE-560T (Marvell 88e5057 Yukon 2; beta)
- 1 port gbe: Intel Pro/1000 PT (Intel 82572)
- 4 port gbe: Intel Gigabit ET e1g44et (Intel 82580)
- 1/2 port 10gbe: Myricom (any card)
- 8 port sata: Supermicro AOC-SAT2-MV8 (marvell 88sx6081)
- 8 port sata/sas: Supermicro AOC-SASLP-MV8 (marvell 88sx6485)
- 2 port sata: HighPoint Rocket 620a (marvell 88se9120)
|
| |
| Reported Working |
Intel Atom
- Intel Desktop Board D510MO—missing mp table (Pavel Klinkovsky)
|
| |
| Selected Differences from the distribution |
overall differences
- 32-bit Rune support
- p9p memdraw code; fixes some 32bpp bugs
- nix source (/sys/src/nix)
|
| new programs
|
enhanced programs
- awk(1) — new import from bwk
- abaco(1) — font specifications
- cpu(1) — remove pre-9p2000 support
- faces(1) — acme-like actions
- grep(1) — add -I grep for base rune (folding)
- kprof(1) — pc resolution of 1 byte (Steve Stallion)
- ramfs(4) — truely limit memory consumption. support arbitrarly-many files
|
| library additions
|
?c differences
- Runes supported in macros
- allow comma operator to work with 64-bit types in 32-bit compilers
- 8c: error when vlong botch is detected (BOTCH: fix underlying error)
- 8c: (dubious; x86 only) correct packed structure assignment (with warning)
|
Iplpxe(8)—BIOS based bootloader
- Written by cinap_lenrek
- Executable less than 8KB.
- Export *e820 map in configuration; avoid need for realmode in kernel.
- Supports NIX kernels
9load differences
- No BIOS boot. Seems to be too unreliable.
- Export *e820 map in configuration; avoid need for realmode in kernel.
- Supports NIX kernels
- Same ethernet and disk hardware support as 9atom kernel
-
plan9.ini(8) parameters may be used as paramaters;
in particular $bootdev is used to boot robustly from
cds attached to any recognized controller
- accept "console=0 b19200" (compatabile with kernel syntax).
- pci: scan busses up to 255.
|
pc 386/PAE kernel
- base work by Charles H. Forsyth
- PAE support; can support 64GB of memory in default configuration
- supports 4KB, 2MB pages.
- uses qmalloc(9nix); no pool library
- drops support for most ancient hardware.
| |
pc architecture differences
- infastructure to support multiple page sizes
- more robust APIC support, including support for arbitrary
apic ids, and overlapping I/O APIC and LAPIC ids
- MSI support
- rudamentary ACPI support
- more robust /dev/reboot. unfortunately it still hangs with
ATAPI devices and ICH7
- CPU temperature montoring AMD and Intel, #P/cputemp
arch(3)
- Count of interrupts in #P/irqalloc, total cycles in interrupt and
interrupt type
arch(3) (TODO: update docs to reflect current state)
- PAT (page attribute tables) used instead of MTRR.
vmappat(9nix)
- vgavesa support screen blanking through
realemu(8)
- some support for certain Winbond chips via io space
- clear num lock (important for some keyboards); make num lock key work
- ignore left CTL+ALT+SHIFT sequence (i/o gear kvm)
- pc ports: better numlock and scrolllock handling
- sdmv50xx: revamped driver; many bugfixes
- mp: various /dev/*mp* files. (TODO: finalized and document)
- pci
- scan busses up to 255
- support for pci capabilities
|
all architecture differences
- ether(3)/netif
support setting layer 2 MTU and /net/ethern/mtu
- ether supports layer 2 bridge mode
- atazz support in sd(3) drivers
|
port differences
- support for multiple page sizes (Charles Forsyth)
- qmalloc(9) (Charles Forsyth and Jim McKie)
- physalloc(9) (Charles Forsyth)
- updated aoe(3) driver
- updated cons(3) driver;
backspace on console deletes Rune not byte
(console output still wrong, due to pc/cga.c) and add
cec(3) support
- updated keyboard(6)
with Compose+Y+6 hex digits for 32-bit Runes. (Undocumented
because entry method to be replaced.)
- new portable 8250-compatable uart driver
- updated uart(6)
"y" starts console; "z" terminates console. Allow console
on pc uarts other than 0 and 1.
- new
cec(3) driver
- new sd loopback
sdloop(3) driver
- new trace(3)
- 9atom's Block* has no Ref (rationale)
- led.c generic IBPI support
|
cmd differences
- rc(1): full support for runes, support for break statement and support for
arbitrary-length words in backquote operations
- telnet(1): don't mess with consctl when given -s option
|
additional serial hardware supported
- Oxford Semi Ox958 for Startech PEX16S952LP (uartox958.c); (Steve Stallion)
|
additional sound hardware supported (cinap)
- Intel HDA Audio (aka azalia)
- AC'97
|
additional pc ethernet hardware supported
- Intel gigabit controllers (ether82563.c):
- 82567
- 82574
- 82576
- 82579
- 82580
- 82583
- i350
- Some Marvell Yukon II 88e8057 cards (etheryuk.c)
- Some Broadcomm 57xx cards (etherbcm.c)
- Intel 10 gigabit controllers
|
additional disk hardware supported (* for just vid/did differences)
- AHCI devices
- AMD SB[678]00 with misset PCI registers
- AMD SB6xx workaround for ATAPI bugs
- Intel 82801GB (ich7)*
- Intel PCH did 3b2[23]*
- JMicron (all)
- Marvell 88se91xx*
- IDE devices
- AMD SB4xx sata/pata*
- AMD Rx6xx pata*
- AMD SB7xx pata*
- ATI 4379 SATA*
- Intel ICH5 82801er
- Intel 6300ESB (75xx chipset)
- Intel 63xx00ESB (5000[pvx] chipset)
- Intel ICH6m
- Intel ICH7 in combined SATA/PATA modes
- Intel ICH9[m], ICH10
- Intel PCH 34x0
- nVidia nForce 51 MCP*
- nVidia nForce 61 MCP PATA*
- Marvell 88se64xx controllers (sdodin.c; was: sdorion.c (sic))
|
additional southbridges supported (all just vid/did additions)
- Intel 632xesb
- Intel 82801HB/HR (ich8/r)
- Intel 82801HH (ich8dh)
- Intel 82801ih ich9dh
- Intel 82801io ich9do
- Intel 82801iem ich9m-e
- Intel 82801ib ich9
- Intel 82801? ich9m
- Intel 82801? ich10r
- Intel 82801? ibex peak
- Intel 82801? 3420
- AMD SB710
|