Cunningham is almost certainly Old English in origin. The 'ham' part means "homestead" or "settlement" (like it does in
Brigham,
Graham and
Gresham and in my own surname, Woodhams). Cunning I'm not sure about, but the word 'cunning' (meaning sly or devious) has Old English roots: it originally meant 'learned' (see
http://www.etymonline.com/index.php?term=cunning). I'm not sure if that etymology is related to the name, but if it is then Cunningham would mean something like "the learned one's homestead".
Kempthorne is simpler: 'thorne' was used to designate someone who lived near a thorn bush (Behind the Surname says "
in or near a thorn bush" but I imagine the number of people living in thorn bushes has never been very great ;-D). For 'kemp' just click on
Kemp. Both
Kemp and Thorne are in the Behind the Surname database (
http://surnames.behindthename.com/).
:-)
♦ Chrisell ♦
All we have to decide is what to do with the time that is given us. - J.R.R. Tolkien.