Skip to content
Snippets Groups Projects
  1. Aug 24, 2007
  2. Aug 23, 2007
  3. Aug 22, 2007
  4. Aug 21, 2007
    • rsc's avatar
      tweaks · f0721f1b
      rsc authored
      f0721f1b
    • rsc's avatar
      · eaea18cb
      rsc authored
      PDF at http://am.lcs.mit.edu/~rsc/xv6.pdf
      
      Various changes made while offline.
      
       + bwrite sector argument is redundant; use b->sector.
       + reformatting of files for nicer PDF page breaks
       + distinguish between locked, unlocked inodes in type signatures
       + change FD_FILE to FD_INODE
       + move userinit (nee proc0init) to proc.c
       + move ROOTDEV to param.h
       + always parenthesize sizeof argument
      eaea18cb
    • rsc's avatar
      cleanup · 3dcf889c
      rsc authored
      3dcf889c
    • rsc's avatar
      add ln · 6bf2e5c8
      rsc authored
      6bf2e5c8
    • rsc's avatar
      check unlink of non-empty directory · c88bf235
      rsc authored
      c88bf235
    • rsc's avatar
      ARGMAX -> MAXARGS · bd39955e
      rsc authored
      bd39955e
    • rsc's avatar
      remove namelen parameter · fbf91039
      rsc authored
      fbf91039
    • rsc's avatar
      remove dead code · 0073beee
      rsc authored
      0073beee
    • rsc's avatar
      · f32f3638
      rsc authored
      Various cleanup:
      
       - Got rid of dummy proc[0].  Now proc[0] is init.
       - Added initcode.S to exec /init, so that /init is
         just a regular binary.
       - Moved exec out of sysfile to exec.c
       - Moved code dealing with fs guts (like struct inode)
         from sysfile.c to fs.c.  Code dealing with system call
         arguments stays in sysfile.c
       - Refactored directory routines in fs.c; should be simpler.
       - Changed iget to return *unlocked* inode structure.
         This solves the lookup-then-use race in namei
         without introducing deadlocks.
         It also enabled getting rid of the dummy proc[0].
      f32f3638
  5. Aug 20, 2007
  6. Aug 14, 2007
  7. Aug 13, 2007
    • rsc's avatar
      · 8c4b5fc5
      rsc authored
      Gcc expects to be able to pick up the return
      address off the stack, so put one there for it.
      (Bug was hidden by bad segment limits.)
      8c4b5fc5
    • rsc's avatar
      · 2ef3a64b
      rsc authored
      Because limit gives the address of the last addressable
      byte in the segment, the limit argument to SEG16 and SEG
      needs to have 1 subtracted from it.
      2ef3a64b
    • rsc's avatar
      ditto · 64659055
      rsc authored
      64659055
    • rsc's avatar
      · 3163085a
      rsc authored
      Cannot use "g" as an arg constraint because
      some memory references aren't actually valid
      and gcc is a bit too smart in parsing (%0) and
      a bit too dumb in knowing which memory refs
      are not valid.  Using "r" seems to constrain gcc
      to use a register as in (%eax) and not substitute
      a memory reference like (-36(%ebp)).
      
      No one really understands these things.
      3163085a
Loading