I'm sending this again since apparently not everyone got it.
nathan binkert wrote:
A few (a vast minority) of .isa files for x86 should have UM copyright on
them. There are a couple which are copied basically from Alpha/SPARC which
should be fairly obvious since I think they have other people in the
authors. There are a few which I did a little with while working over the
semester which could also have UM added.
Can you list them? I'm not going to go through them.
Which? The x86 files that came from Alpha/SPARC, or the ones I worked on
my last semester? For the former in arch/x86/isa see the list below. The
rest of arch/x86 should have both except for the second list below. For
the later, I sent an email earlier where I had a command that pulled
that out of mercurial along with the list it generated. It had some junk
tagging along but it was fairly short and would be easy to get the info
from.
//
// From other ISAs
//
arch/x86/isa/formats/
basic.isa
unimp.isa
unknown.isa
The below did not. The copyright was just copied over. I may have
modified them in my last semester.
error.isa
multi.isa
string.isa
syscall.isa
arch/x86/isa/
includes.isa
macroop.isa
main.isa
operands.isa
The below did not. The copyright was just copied over. I may have
modified them in my last semester.
macroop.isa
microasm.isa
specialize.isa
Some files in arch/x86/isa/microops/ have UM copyrights but none of them
were from another ISA.
//
// arch/x86/ not needing UM copyright
//
X86System.py
X86TLB.py
emulenv.[cc|hh]
floatregs.hh
everything in insts except for insts/static_inst.[cc|hh]
intregs.hh
miscregs.hh
pagetable_walker.[cc|hh]
predecoder.[cc|hh]
predecoder_tables.cc
segmentregs.hh
smbios.[cc|hh]
x86_traits.hh
This is being somewhat liberal in what would be considered derived (aka
I erred on the side of derived).
Also, I see arch/x86/template.hh which I never intended to commit. I'm
not sure how it snuck in there but you should feel free to nuke it.
There's also a temporal issue where
UM copyrights might not be applicable on changsets before a certain date,
but to be technically correct should be applied afterwards.
I don't get this. You mean when you were at HP full time?
No, I'm talking about the ones I modified when I was back at UM for my
last semester. Before I came back they were HP only. When I made my
first change at UM, then they should be UM/HP. This is of course
excluding the ones that started out as both HP and UM because I copied
them from other ISAs.
I think the cost
of being super exact is more trouble than it's worth and over copyrighting
stuff might be the way to go. Another thing I'm thinking is that a lot of
those .isa files are fairly short, and having two copyrights on them could
make them an order of magnitude (or more) longer than they would be
otherwise. There's going to be a LOT of extra text there that might go
better in a generic license file for all that code than in every single
file. I'll leave that up to you guys.
We have to put the license on every file. I agree that there are tons
of files. Can you clean that up to reduce the number? I never really
understood why you had so many.
It's not that it's messy, it's categorizing the instructions like they
are in the AMD manuals. They have a two level hierarchy for instruction
categories which I mimic with directories and files. Sometimes there are
only a few simple instructions in a category so the file is short. Also,
if a directory would have only one file in it, I just use the file
directly. The thing with X86 is that there are piles and piles and piles
of instructions which each have something like 4 or 5 different versions
not counting different processor modes, submodes, operand widths,
address widths, stack widths, immediate widths, addressing modes,
prefixes, blah blah blah blah blah. I compressed that substantially
using mostly the same type of templating mechanism as in the real (in
that patent) decoder, but it's still pretty enormous. They take the C in
CISC very seriously. You do end up with a lot of small files that way,
but I would argue that's a lot better than a 10,000 line long monster. I
can squish some of the smaller one together into a single file separated
by big chunky comments or something in the future to cut down on some of
the girth.
Also, not that I'm arguing, but why -do- we put the copyright on
everything directly?
Also, I haven't at any point in the
entire time I've been working with M5 done anything with the copyrights,
including the dates, other than change the authors line. The dates on files
I did are worked on are probably totally nonsense. Aren't copyrights good
for like a thousand years anyway?
Can you fix them up after the repository is done? You should be
updating dates on any files that you make major revisions to. We all
should. Copyrights are generally between 50-100 years.
I'll try to do that in the future.
Gabe
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev